我正在使用youtube-upload命令行脚本(非常奇怪)将视频上传到youtube。我将变量从PHP传递到Python,该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-upload文档列表,可以达到相同的结果)
youtube-upload --description="$(< sites/default/files/descriptions/5799.txt)" --title="Title" --category=Music sites/default/files/videos/5799.mp4
现在,除了没有传递描述文本文件之外,该脚本还可以正常运行。在python之外,在命令行中执行该操作。我也尝试过传递文件的完整路径...但是它没有发生。
堆栈跟踪输出中没有错误
有任何想法吗?
附言我将其作为文件传递,因为当我尝试从json对象中的php中传递字符串时,我无法在另一端检索它。谁能为我指出这个问题的正确方向?
最佳答案
我通过将文件打开到变量中并将其传递给命令来解决这个问题
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)
关于php - 命令行命令在Python中不起作用-不发送文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23678466/