1. 程式人生 > >python和shell之間變量的相互調用

python和shell之間變量的相互調用

int 文件 put pen OS 退出狀態 command 一個 tail

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(’echo ’ + path)                  #註意echo後有空格   
os.system(‘echo ‘ + str(var[0]))  
os.system(’echo ’ 
+ var + ’ /root/c.sh’) #註意echo後和/root前有空格

3.通過管道

import os  
var=’123’  
os.popen(’wc -c’, ’w’).write(var)  

4.通過文件

output = open(‘/tmp/mytxt’, ‘w’)  
output.write(S)      #把字符串S寫入文件   
output.writelines(L) #將列表L中所有的行字符串寫到文件中   
output.close()  


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

buf = open(’/root/a.txt’, ’w’)  
print >> buf, ‘123\n’, ‘abc’

print >> open(‘/root/a.txt’, ‘w’), ‘123\n’, ‘abc’ #寫入或生成文件   
print >> open(‘/root/a.txt’, ‘a’), ‘123\n’, ‘abc’ #追加  

shell -> python:

1.管道

import os  
var=os.popen(’echo -n 123’).read( )  
print var  

2.

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

3.文件

input = open(‘/tmp/mytxt’, ‘r’)  
S = input.read( )      #把整個文件讀到一個字符串中   
S = input.readline( )  #讀下一行(越過行結束標誌)   
L = input.readlines( ) #讀取整個文件到一個行字符串的列表中  

input = open(‘/tmp/mytxt’, ‘r’)  
本文轉載自:https://blog.csdn.net/blackmanren/article/details/12904603

python和shell之間變量的相互調用