2017-01-11 3 views
0

私はPythonのsubprocess.check_output()で作業していますが、特定の属性(fileName、titleなど)を持つpythonファイルを実行するために使用しています。しかし、すべてうまく動作しますが、実際の文字列の代わりに文字列変数を渡すことにしました。これはうまくいかず、理由はわかりません。誰かが私がしない何かを見ますか?Pythonのsubprocess.check_output()

import textFile 
import upload 
import subprocess 
def upload(fileName): 
    arr = [] 
    bunny = "big_buck_bunny.flv" #this is the variable 
    arr = textFile.readLine(fileName) 
    size = textFile.getLines(fileName) 
    i = 0 
    while(i < size): 
     f = open("upload.py-oauth2.json", 'w').close() 
     textFile.append("C:\\Users\\user1\\Desktop\\tester\\upload.py-oauth2.json",arr[i]) 
     #This below is where i would like to pass in a variable 
     subprocess.check_output('python upload.py --file="C:\\Users\\...\\anniebot\\' + bunny) 
    i+=1 


upload("C:\\Users\\user1\\Desktop\\tester\\accountList.txt")   

ですから、私はずっと経路を常に変えたいと思っています。問題は、固定された文字列を渡さずにサブプロセスを動作させる方法を見つけることができないことです。私のような何かをしたいと思います

: -

subprocess.check_output('python upload.py --file="C:\\Users\\user1\\Videos\\anniebot\\" + bunny --title="title" --description="testing" --keywords="test" --category="22" --privacyStatus="public"') 
+1

スクリーンショットではなく実際のコードを掲載してください。 – elethan

+0

固定テキスト\\ {} \\ xxxx'.format(ファイル名) 'を使用します。サブプロセス_at all_ –

+0

ちょっと@ Jean-FrançoisFabre、どういう意味ですか? –

答えて

1

あなたが意味するか:

subprocess.check_output('python upload.py --file="C:\\Users\\...\\anniebot\\' + bunny + '" --title= ...') 

だから、基本的にあなたが単一引用符の代わりに、ダブル引用符を使用して文字列を連結します使っている。

+0

を正確に更新しました、私はそれを試みましたが、それは動作しません –

関連する問題