shellpython返回值
1、os.system(cmd)
缺點:不能獲取返回值
2、os.popen(cmd)
要得到命令的輸出內容,只需再調用下read()或readlines()等
例:a=os.popen(cmd).read()
3、commands模塊,其實也是對popen的封裝。
此模塊主要有如下方法:
commands.getstatusoutput(cmd)返回(status, output).
commands.getoutput(cmd)只返回輸出結果
commands.getstatus(file)返回ls -ld file的執行結果字元串,調用了getoutput
例:
>>> import commands
>>> commands.getstatusoutput('ls /bin/ls')
(0, '/bin/ls')
>>> commands.getstatusoutput('cat /bin/junk')
(256, 'cat: /bin/junk: No such file or directory')
>>> commands.getstatusoutput('/bin/junk')
(256, 'sh: /bin/junk: not found')
>>> commands.getoutput('ls /bin/ls')
'/bin/ls'
>>> commands.getstatus('/bin/ls')
'-rwxr-xr-x1 root13352 Oct 141994 /bin/ls'
來源:麥子學院
❷ 請教在shell中調用python並獲取py返回值的問題
調用並且傳入參數就不必說了吧,很簡單直接python <file_name>.py <arg1> <arg2>
首先,你知道PYTHON是買有main函數的,要想讀到PYTHON裡面RETURN的值恐怕辦不到PYTHON裡面也沒有類似的通道。
但是,你卻可以讀到PYTHON的sterr的error code。PYTHON裡面有個sys模塊,你可以用sys.exit(<num>)的方式,通過把錯誤碼發送給stderr。然後再Shell裡面用$?(事實上$?命令會從stderr裡面去讀) 來判斷python是否執行成功
❸ 各位大神好,在python中,若在shell里輸入運行就有結果,存儲在某一文件里運行就沒結果是為啥
在互動式shell中,輸入語句,會顯示其返回值 ,這是python shell的特性,不是python語言的
必須顯式使用print語句,才能在正常的程序中顯示結果 ,print(type({}))
❹ python 通過subprocess.run調用ubuntu shell腳本 返回值為0卻不列印輸出
應該用格式化串傳進去
'/home/.../test.sh %s' % v
❺ python shell裡面輸入5654%121返回的值為什麼是88
1.python的shell,可以自動識別你輸入的數據;
此處就是自動實現數據計算的效果。
2.正常的數學運算:
5654對著121取余數,結果就是88
這個你應該知道吧?
3.Python中,取余數的運算符號是%
所以,此處結果是88.
即,只是普通的算數運算而已。
沒啥特別的。
4.即python的shell對於你這樣的數據處理,就相當於計算器。
❻ shell腳本調用docker裡面的python腳本,如何返回一個值(狀態碼)給shell腳本
# test.py
print "hello, world"
# test.sh
result=`python test.py`
echo $result
# 執行
bash test.sh
# 結果
hello, world
❼ shell腳本與python如何結合起來呢
os.system(command)這個函數可以調用shell運行命令行command並且返回它的返回值。試一下在python的解釋器里輸入os.system(」ls
-l」),就可以看到」ls」列出了當前目錄下的文件。可以說,通過這個函數,python就擁有了shell的所有能力。
❽ python中怎麼運行shell腳本
python中怎麼運行shell腳本?
system()
其中最後一個0是這個命令的返回值,為0表示命令執行成功。使用system無法將執行的結果保存起來。
popen()
獲取命令執行的結果,但是沒有命令的執行狀態,這樣可以將獲取的結果保存起來放到pst中。
commands
可以很方便的取得命令的輸出(包括標准和錯誤輸出)和執行狀態位。
commands.getoutput('ls')這個方法只返回執行結果result不返回狀態。
在python中調用shell腳本
hello.sh
下面的512是返回的狀態碼,如果eixt 0時則返回的是0.
shell腳本使用python腳本的參數
寫一個hello.sh腳本,需要傳入兩個參數:
執行結果如下:
在python腳本中調用shell腳本,並傳入參數,注意參數前後要有空格
執行python腳本
相關推薦:《Python教程》以上就是小編分享的關於python中怎麼運行shell腳本的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!
❾ python怎麼執行shell命令
工具/原料
Python環境
方法/步驟
os.system("The command you want"). 這個調用相當直接,且是同步進行的,程序需要阻塞並等待返回。返回值是依賴於系統的,直接返回系統的調用返回值,所以windows和linux是不一樣的
os.popen(command[,mode[,bufsize]]),
圖中是一個例子.
可以看出,popen方法通過p.read()獲取終端輸出,而且popen需要關閉close().當執行成功時,close()不返回任何值,失敗
時,close()返回系統返回值. 可見它獲取返回值的方式和os.system不同。
使用commands模塊,圖中是一組例子。根據你需要的不同,commands模塊有三個方法可供選擇。getstatusoutput, getoutput, getstatus。
但是,如上三個方法都不是Python推薦的方法,而且在Python3中其中兩個已經消失。Python文檔中目前全力推薦第四個方法,subprocess! subprocess使用起來同樣簡單:
直
接調用命令,返回值即是系統返回。shell=True表示命令最終在shell中運行。Python文檔中出於安全考慮,不建議使用
shell=True。建議使用Python庫來代替shell命令,或使用pipe的一些功能做一些轉義。官方的出發點是好的,不過真心麻煩了很多,
so.... 如果你更關注命令的終端輸出,可以如下圖這樣操作, 同樣很簡單.
❿ pythonshell哪個鍵執行命令
方法/步驟
os.system("The command you want"). 這個調用相當直接,且是同步進行的,程序需要阻塞並等待返回。返回值是依賴於系統的,直接返回系統的調用返回值,所以windows和linux是不一樣的
os.popen(command[,mode[,bufsize]]),
圖中是一個例子.
可以看出,popen方法通過p.read()獲取終端輸出,而且popen需要關閉close().當執行成功時,close()不返回任何值,失敗
時,close()返回系統返回值. 可見它獲取返回值的方式和os.system不同。
使用commands模塊,圖中是一組例子。根據你需要的不同,commands模塊有三個方法可供選擇。getstatusoutput, getoutput, getstatus。
但是,如上三個方法都不是Python推薦的方法,而且在Python3中其中兩個已經消失。Python文檔中目前全力推薦第四個方法,subprocess! subprocess使用起來同樣簡單:
直
接調用命令,返回值即是系統返回。shell=True表示命令最終在shell中運行。Python文檔中出於安全考慮,不建議使用
shell=True。建議使用Python庫來代替shell命令,或使用pipe的一些功能做一些轉義。官方的出發點是好的,不過真心麻煩了很多,
so.... 如果你更關注命令的終端輸出,可以如下圖這樣操作, 同樣很簡單.