python和shell變數互相傳遞的幾種方法

2022-10-05 00:24:16 字數 3064 閱讀 1255

python -> shell:

1.環境變數

複製** **如下:

import os 

var=123或var='123'

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

os.system('echo $var') 

複製** **如下:

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前有空格  

複製** **如下:

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) 

複製** **如下:

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() 

複製** **如下:

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'

複製** **如下:

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' #追加 

複製** **如下:

print >> open('/root/a.txt', 'w'), '123\n', 'abc' #寫入或生成檔案程式設計客棧 

print >> open('/root/a.txt', 'a'), '123\n', 'abc' #追加 

sheleijfidql -> python:

1.管道

複製** **如下:

import os 

var=os.popen('echo -n 123').read( ) 

print var 

複製** **如下:

import os 

var=os.popen('echo -n 123').read( ) 

print var 

2.複製** **如下:

import commands 

var=commands.getoutput('echo abc')     程式設計客棧  #輸出結果  

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

複製** **如下:

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') 

s = input.read( )      #把整個檔案讀到乙個字串中&n程式設計客棧bsp;

s = input.readline( )  #讀下一行(越過行結束標誌) 

l = input.readlines( ) #讀取整個檔案到乙個行字串的列表中 

本文標題: python和shell變數互相傳遞的幾種方法

本文位址: /jiaoben/python/101805.html

環境和shell變數

1.變數結合 root localhost error msg sorry this file doet not exist user logname root localhost echo sorry this file doet not exist user root root localhos...

python中string和bytes互轉

首先來設定乙個原始的字串,python 3.2.3 default,apr 11 2012,07 15 24 msc v.1500 32bit intel on win32 type help credits or license for more information.website type ...

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

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 ...