2014-11-23 97 views
-1

當我嘗試從Python運行CMD命令時遇到一個小問題。來自Python的CMD命令,去掉空格空格

import os 

quality = "source" 
streamName = "wingsofdeath" 

cmd = "livestreamer twitch.tv/" + streamName + " " + quality 

os.system(cmd) 
raw_input('Press Enter to quit') 

當我運行這個時,CMD刪除了cmd變量中的空白部分之後的所有內容。

它應該讀作這樣的:livestreamer twitch.tv/wingsofdeath源

但它讀起來就像這樣:livestreamer twitch.tv/wingsofdeath

所以它消除了質量的一部分。

如果我刪除空格,它會讀取質量變量。問題是我需要一個空間來介於streamName和quality之間。

任何幫助將不勝感激!

+1

你試過'subprocess.call([ 'livestreamer', 'twitch.tv/' + streamName中,質量])'? – 2014-11-23 20:09:12

+0

另一種選擇是在'cmd'變量中使用雙引號。這樣你的整個命令就被包裝在一個雙引號中。 – Carlos 2014-11-23 20:11:41

+0

使用'subprocess'。 – najjarammar 2014-11-23 20:13:45

回答

0

這可能工作

import os 

quality = "source" 
streamName = "wingsofdeath" 

cmd = '"livestreamer twitch.tv/%s %s"' % (streamName,quality) 

os.system(cmd) 
raw_input('Press Enter to quit') 

它將把streamName中的第一個「%s」和質量的第二個「%s」指間距在cmd中的命令必須理解過程的雙引號,因此在Python中的字符串也有單引號。

+0

嗨!感謝您的幫助,但我已經嘗試過。 這是我試試這個時得到的錯誤代碼: TypeError:必須是字符串,而不是元組 – oneLifeLeft 2014-11-23 20:07:36

+0

視圖編輯代碼它適用於我! – kedarkhetia 2014-11-23 20:17:32

0

它爲我用「\」而不是「」

希望它能幫助。