我正在使用youtube-upload命令行脚本(奇怪的是)将视频上传到youtube。我将我的变量从PHP传递到Python,后者生成命令字符串并将其传递给
result = subprocess.call(copmmand, shell=True)
我的脚本生成的命令如下:
youtube-upload --description="$(< \sites/default/files/descriptions/5799.txt)" --title="Title" --category=Music sites/default/files/videos/5799.mp4
或(带有前缀反斜杠的youtube上传文档列表,可以获得相同的结果)
youtube-upload --description="$(< sites/default/files/descriptions/5799.txt)" --title="Title" --category=Music sites/default/files/videos/5799.mp4
现在,除了描述文本文件之外,脚本工作正常。在python之外,在命令行中,它就是这样做的。我也试过传递文件的完整路径......但它没有发生。
堆栈跟踪输出中没有错误
有什么想法吗?
P.S。我将它作为文件传递,因为当我试图从json对象中的php传入一个字符串时,我无法在另一端检索它。任何人都可以指出我在这个问题的正确方向吗?
答案 0 :(得分:1)
我通过将文件打开到变量并将其传递到命令
来解决这个问题 with open ("/home/mmallett/Sites/GottaLoveSoul/sites/default/files/descriptions/" + nid + ".txt", "r") as myfile:
data=myfile.read().replace('\n', '')
upload = 'youtube-upload --description="' + data + '" --title="' + title + '" --category=Music ' + video
result = subprocess.check_output(upload, shell=True)