1樓:緣若夢醒
這種情況是使用的方法不正確導致的。
python中執行系統命令常見的幾種方法如下:
1、os.system
例如:>>> import os >>> os.system('ls') chk_err_log.py cmdtool.
log install_log.txt install_zabbix.sh manage_deploy.
sh megasas.log
2、os.popen
例如:>>> import os >>>tmp = os.popen('ls *.sh').
readlines() >>>tmp ['install_zabbix.sh\n', 'manage_deploy.sh\n', 'mysql_setup.
sh\n', 'python_manage_deploy.sh\n', 'setup.sh\n']
3、使用模組subprocess
使用方法:
>>> import subprocess >>> subprocess.call (["cmd", "arg1", "arg2"],shell=true)
import subprocess p = subprocess.popen('ls *.sh', shell=true, stdout=subprocess.
pipe, stderr=subprocess.stdout) print p.stdout.
readlines() for line in p.stdout.readlines():
print line, retval = p.wait()
4、 使用模組commands模組
使用方法:
>>> import commands >>> commands.getoutput('ls *.sh') 'install_zabbix.
sh\nmanage_deploy.sh\nmysql_setup.sh\npython_manage_deploy.
sh\nsetup.sh' >>> commands.getstatusoutput('ls *.
sh') (0, 'install_zabbix.sh\nmanage_deploy.sh\nmysql_setup.
sh\npython_manage_deploy.sh\nsetup.sh')
注意:當執行命令的引數或者返回中包含了中文文字,那麼建議使用subprocess,如果使用os.popen則會出現錯誤。
2樓:叫我情何以堪
python中執行系統命令常見的幾種方法
python中執行系統命令常見的幾種方法有:
(1)os.system
# 僅僅在一個子終端執行系統命令,而不能獲取命令執行後的返回資訊 # 如果再命令列下執行,結果直接列印出來
例如:>>> import os >>> os.system('ls') chk_err_log.
py cmdtool.log install_log.txt install_zabbix.
sh manage_deploy.sh megasas.log (2)os.
popen #該方法不但執行命令還返回執行後的資訊物件 #好處在於:將返回的結果賦於一變數,便於程式的處理。
例如:>>> import os >>>tmp = os.popen('ls *.
sh').readlines() >>>tmp ['install_zabbix.sh\n', 'manage_deploy.
sh\n', 'mysql_setup.sh\n', 'python_manage_deploy.sh\n', 'setup.
sh\n']
(3)使用模組subprocess
使用方法:
>>> import subprocess >>> subprocess.call (["cmd", "arg1", "arg2"],shell=true)
好處在於:運用對執行緒的控制和監控,將返回的結果賦於一變數,便於程式的處理。
如獲取返回和輸出:
import subprocess p = subprocess.popen('ls *.sh', shell=true, stdout=subprocess.
pipe, stderr=subprocess.stdout) print p.stdout.
readlines() for line in p.stdout.readlines():
print line, retval = p.wait()
(4) 使用模組commands模組
常用的主要有兩個方法:getoutput和getstatusoutput
>>> import commands >>> commands.getoutput('ls *.sh') 'install_zabbix.
sh\nmanage_deploy.sh\nmysql_setup.sh\npython_manage_deploy.
sh\nsetup.sh' >>> commands.getstatusoutput('ls *.
sh') (0, 'install_zabbix.sh\nmanage_deploy.sh\nmysql_setup.
sh\npython_manage_deploy.sh\nsetup.sh')
3樓:匿名使用者
使用os模組的system函式執行,如果不行,估計是你執的的命令中有些東西被轉義了,比較\\這樣的,你在字元前上r就可以了
4樓:
請給出具體的語句,以及報錯資訊或執行的(錯誤)結果。
如何執行shell指令碼其中一條命令
方法一 切換到shell指令碼所在的目錄 此時,稱為工作目錄 執行shell指令碼 複製 如下 cd data shell hello.sh 的意思是說在當前的工作目錄下執行hello.sh。如果不加上.bash可能會響應找到不到hello.sh的錯誤資訊。因為目前的工作目錄 data shell ...
這樣的一條金項鍊大概要多少,一條金項鍊多少克
真的要幾萬塊,假的10塊搞定 看多少克了吧,重點實心的一萬多吧 3000到4000左右吧!純金一兩萬塊吧,假的幾十塊 兩萬左右,這個跟我帶的差不多粗,60克左右 一條金項鍊多少克 女士 項鍊輕的有2 3克,重的有幾十克,一般項鍊女士佩戴的話是10克左右,小點看起來好看些,而且看起來很有氣質。當然,最...
我發了這樣一條說說,然後前女友也發了一條 說起來,默默地點讚也需要勇氣。」有什麼含義
默默的在你身邊 關注你 也是需要勇氣 說明,她雖然在關注你,內心的深處還是在喜歡你,但是她的潛意識,已經是在排斥你了!餘情未了,我以前也有這情況,只是不爽而已,但對前任絕對沒有再復合的意思。只有我這麼高情商的人才能看懂。總之一句話,分了覺得可惜,在一起又不開心。含義什麼的我不清楚,但是你直接無視就好...