python和shell之間變數的相互呼叫

2021-09-30 10:36:54 字數 4021 閱讀 4271

python -> shell:

1.環境變數

[python]view plain

copy

import

os  

var=

123或var=』

123』  

os.environ[』var』]=str(var)  

#environ的鍵值必須是字串 

os.system(』echo $var』)  

[python]view plain

copy

import

os  

var=123

或var=』

123』  

os.environ[』var』]=str(var)  #environ的鍵值必須是字串

os.system(』echo $var』)  

2.字串連線

[python]view plain

copy

import

os  

path=』/root/a.txt』  

var=[

1]  

var=』bash』  

os.system(』echo 』 + path)                  

#注意echo後有空格 

os.system(『echo 『 + str(var[

0]))  

os.system(』echo 』 + var + 』 /root/c.sh』) 

#注意echo後和/root前有空格 

[python]view plain

copy

import

os  

path=』/root/a.txt』  

var=[1

]  var=』bash』  

os.system(』echo 』 + path)                  #注意echo後有空格

os.system(『echo 『 + str(var[0

]))  

os.system(』echo 』 + var + 』 /root/c.sh』) #注意echo後和/root前有空格 

3.通過管道

[python]view plain

copy

import

os  

var=』

123』  

os.popen(』wc -c』, 』w』).write(var)  

[python]view plain

copy

import

os  

var=』123

』  os.popen(』wc -c』, 』w』).write(var)  

4.通過檔案

[python]view plain

copy

output = open(『/tmp/mytxt』, 『w』)  

output.write(s)      

#把字串s寫入檔案 

output.writelines(l) 

#將列表l中所有的行字串寫到檔案中 

output.close()  

[python]view plain

copy

output = open(『/tmp/mytxt』, 『w』)  

output.write(s)      #把字串s寫入檔案

output.writelines(l) #將列表l中所有的行字串寫到檔案中

output.close()  

5.通過重定向標準備輸出

[python]view plain

copy

buf = open(』/root/a.txt』, 』w』)  

print

>> buf, 『

123\n』, 『abc』  

[python]view plain

copy

buf = open(』/root/a.txt』, 』w』)  

print

>> buf, 『

123\n』, 『abc』   或

[python]view plain

copy

print

>> open(『/root/a.txt』, 『w』), 『

123\n』, 『abc』 

#寫入或生成檔案 

print

>> open(『/root/a.txt』, 『a』), 『

123\n』, 『abc』 

#追加

[python]view plain

copy

print

>> open(『/root/a.txt』, 『w』), 『

123\n』, 『abc』 

#寫入或生成檔案

print

>> open(『/root/a.txt』, 『a』), 『

123\n』, 『abc』 

#追加

shell -> python:

1.管道

[python]view plain

copy

import

os  

var=os.popen(』echo -n 

123』).read( )  

print

var  

[python]view plain

copy

import

os  

var=os.popen(』echo -n 123

』).read( )  

print

var   2.

[python]view plain

copy

import

commands  

var=commands.getoutput(』echo abc』)       

#輸出結果 

var=commands.getstatusoutput(』echo abc』) 

#退出狀態和輸出結果

[python]view plain

copy

import

commands  

var=commands.getoutput(』echo abc』)       #輸出結果

var=commands.getstatusoutput(』echo abc』) #退出狀態和輸出結果

3.檔案

[python]view plain

copy

input = open(『/tmp/mytxt』, 『r』)  

s = input.read( )      

#把整個檔案讀到乙個字串中 

s = input.readline( )  

#讀下一行(越過行結束標誌) 

l = input.readlines( ) 

#讀取整個檔案到乙個行字串的列表中

[python]view plain

copy

input = open(『/tmp/mytxt』, 『r』)  

python和shell之間變數的相互呼叫

1.環境變數 import os var 123或var 123 os.environ var str var environ的鍵值必須是字串 os.system echo var 2.字串連線 import os path root a.txt var 1 var bash os.system e...

協變和逆變

協變和逆變都是術語,前者指能夠使用比原始指定的派生型別的派生程度更大的型別,後者指能夠使用比原始指定的派生型別的派生程度更小的型別。using system using system.collections.generic using system.text class derived base s...

協變和逆變

二 真正的協變和逆變 概念 1 以前的泛型系統 或者說沒有in out關鍵字時 是不能 變 的,無論是 逆 還是 順 協 2 當前僅支援介面和委託的逆變與協變 不支援類和方法。但陣列也有協變性。3 值型別不參與逆變與協變。協變 foo foo public class testoutwhere t ...