python執行這樣一條windows系統命令怎麼不行

2021-06-28 17:43:40 字數 2934 閱讀 5992

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克左右,小點看起來好看些,而且看起來很有氣質。當然,最...

我發了這樣一條說說,然後前女友也發了一條 說起來,默默地點讚也需要勇氣。」有什麼含義

默默的在你身邊 關注你 也是需要勇氣 說明,她雖然在關注你,內心的深處還是在喜歡你,但是她的潛意識,已經是在排斥你了!餘情未了,我以前也有這情況,只是不爽而已,但對前任絕對沒有再復合的意思。只有我這麼高情商的人才能看懂。總之一句話,分了覺得可惜,在一起又不開心。含義什麼的我不清楚,但是你直接無視就好...