Python的subprocess.check_output()

时间:2017-01-11 20:14:48

标签: python string subprocess

我正在使用python' subprocess.check_output()我正在使用它来运行一个带有某些属性(如fileName,title等等)的python文件。一切正常但是,我决定传入一个字符串变量而不是实际的字符串。这不起作用,我不知道为什么。有没有人看到我不喜欢的东西?

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 个答案:

答案 0 :(得分:1)

你的意思是:

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

所以基本上使用单个引号连接字符串,而不是使用 double 引用。