python和shell之間變量的相互調用
阿新 • • 發佈:2018-06-06
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之間變量的相互調用