Python在通過os.system執行含有空格路徑的命令時報錯問題的解決方案
今天寫了一個用來對VMware Workstation虛擬機器通過socket進行遠端操作的Python程式,想用Python來呼叫C盤下的 “C:\Program Files\VMware\VMware Tools\rpctool.exe”這個檔案。
但是程式會報出’C:\Program’ is not recognized as an internal or external command, operable program or batch file.這樣的錯誤,也就是說其在空格處截斷了,導致了命令無法順利的執行,加雙引號以後問題消失,但是新的問題又出來了,即命令只能有一個引數,多於一個引數也執行不了。
在查閱相關資料後,可用subprocess.Popen()來代替os.system()這個方法
import subprocess
cmd='"C:\Program Files\VMware\VMware Tools\rpctool.exe" "-h"'
ps = subprocess.Popen(cmd); # 執行cmd命令
ps.wait();#讓程式阻塞
這樣就完美解決了空格問題和引數只能有一個的問題
相關推薦
Python在通過os.system執行含有空格路徑的命令時報錯問題的解決方案
今天寫了一個用來對VMware Workstation虛擬機器通過socket進行遠端操作的Python程式,想用Python來呼叫C盤下的 “C:\Program Files\VMware\VMware Tools\rpctool.exe”這個檔案。
python利用os.system執行多條系統命令
先看程式碼(正確程式碼): def UpdateCNSubAllInd(): os.system("cd spiders && scrapy runspider CN_UpdateSubIndex.py") def UpdateSSESubAllInd(): os.sy
maven 執行建立web專案命令時報錯
1、命令如下: mvn archetype:generate -DgroupId=com.inspur.test -DartifactId=WebAppStydy -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=fal
通過vue-cli生成專案時報錯解決方案
全域性安裝 vue-cli $ npm install -g vue-cli 建立一個基於 “webpack” 模板的新專案 $ vue init webpack my-project 在執行vue init webpack my-project時遇到一個錯
執行yii2控制臺命令時報錯:-bash: yii: command not found
usr 執行 cos clas class man and -s bin MacOS下出現-bash: 命令: command not found的解決 1.在終端輸入:vim ~/.bash_profile 2.在裏面添加:export PATH=/usr/bin:/us
Python:os.system要啟動別的py檔案,路徑怎麼寫
要用os.system執行指定程式,例如執行某個位置的py檔案,還要向它傳遞引數。 command = '''start cmd /k "d: & cd d:/test/ & python d:/test/test.py "{$name$:$qcy$}" &
python的os.system函式的應用
os的system原理 system函式可以將字串轉化成命令在伺服器上執行;其原理是每一條system函式執行時,其會建立一個子程序在系統上執行命令列,子程序的執行結果無法影響主程序 上述原理會導致
Python藉助os.system,subprocess.call()函式呼叫系統命令
Python System Command While making a program in python, you may need to exeucte some shell commands for your program. For example, if
python,os操作檔案,檔案路徑(上一級目錄)
python獲取檔案上一級目錄:取檔案所在目錄的上一級目錄 os.path.abspath(os.path.join(os.path.dirname('settings.py'),os.path.pardir)) os.path.pardir是父目錄,os.path.abs
python中os.system、os.popen、subprocess.popen的區別
最近專案中需要在python中執行shell指令碼,以下解釋使用os.system、 os.popen和subprocess.popen的區別: 1.os.system 該函式返回命令執行結果的返回值,system()函式在執行過程中進行了以下三步操作
[問題]python內部os.system輸出中文亂碼
import os os.system("dir") 輸出結果: F:\code\python\django ��Ŀ¼ 2017/05/08 10:13 <DIR> . 2017/05/08 10:13 <DIR
Python 中os.system() 與os.exec*() 的區別
在用高通的平臺做Android開發時,Modem端的軟體經常需要手動Push進去,並且檔案有很多。用ADB命令手動Push進去很麻煩,所以寫了一個指令碼來幹活。 Modem的檔案都是以modem開頭的 modem.b00, modem.b10, modem_fw.b11,
python中os.system()的返回值
最近遇到os.system()執行系統命令的情況,上網蒐集了一下資料,整理如下,以備不時之需,同時也希望能幫到某些人。 一、python中的 os.system(cmd)的返回值與linux命令返回值(具體參見本文附加內容)的關係 大家都習慣用os.systemv()
使用python執行mysql編碼存入Excel時報錯
存入Excel時出現錯誤: TypeError: cannot use a string pattern on a bytes-like object sql執行部分語句如下: CONCAT(SUM(CASE WHEN 節點名 = '基礎教程' THEN 命中率 ELSE 0
Mac OS 使用PyCharm 啟動Python Django程式報錯 解決方案
報錯資訊圖片 報錯資訊文字 django.core.exceptions.ImproperlyConfigured: Requested setting USE_I18N, but settings are not configured. You must either define
Selenium在定位的class含有空格的複合類的解決辦法整理
1.class屬性唯一但是有空格,選擇空格兩邊唯一的哪一個<div id="tempConfigTable" class="dtb-style-1 table-dragColumns" style="height: 371px; position: relative;"
安裝webpack後,執行webpack -v命令時報錯:SyntaxError: Block-sc
nodejs webpack 排錯 版本不兼容 安裝webpack後,執行webpack -v命令時報錯如下: [root@FreeServer ~]# webpack -v /usr/local/node-v4.4.7-linux-x64/lib/node_modules/webpack/b
sql無效字符 執行sql語句報錯解決方案
tar nbsp color col copy 坑爹 執行 解決方案 原來 以為是sql中參數賦值有問題,但是將sql語句直接copy到PLSQL中執行,卻沒問題,糾結了好久,原來是 insert語句多了;唉,坑爹 http://www.jb51.net/article/3
執行mysqldump備份數據時報錯
led 刪除數據庫 啟動報錯 cte indicate amp utf8 int osi 環境;MySQL 版本 5.6.28問題:執行mysqldump出現以下報錯,小白當時執行mysqldump備份時,是執行一次報一個錯1、mysqldump: Got error: 1
Failed to execute 'toDataURL' on 'HTMLCanvasElement,在canvas.toDataURL()執行時候報錯解決方案
from info long allow 條件 star The cross can 添加跨域條件 crossorigin="anonymous" 【Redirect at origin ‘http://xxx.xx.com‘ has been block