【发布时间】:2020-06-21 04:31:52
【问题描述】:
我有一个脚本,它运行复制命令来复制文件和目录。因为,我将参数存储在变量中。
copy_cmd = ['Lang=en_US' , '/bin/cp' , '-r' , '-v']
Option['source']
Option['destination']
我在运行时传递 Option['source'] & Option['destination'] 的值。 我无法执行命令并获取....
child exception
AttributeError: list object has no attribute rfind
我正在使用的命令是
copy_pid = subprocess.Popen([copy_cmd , Option['source'] , '/.' , 'Option['destination']'] , stdin = subprocess.PIPE , stdout = subprocess.PIPE)
【问题讨论】:
-
什么是期权?是字典吗?是清单吗?如果你这样做
print(type(Option['source']))你会得到什么?如果你做了print(Option['source']),你看到了什么? -
基本上,您需要确保您传入的所有内容都是正确的。此命令有效:
subprocess.Popen(["echo", "hello", "world"])因此您需要传入一个列表。此外,如果您需要在 shell 中运行命令,您可以尝试shell=True。请给我们更多信息。
标签: python subprocess popen3