我想在python中使用subprocess将多个字符串从列表传递到子进程,这样我就可以在unix服务器上执行命令。
我有四个文件S3_R1,S3_R2,S4_R1,S4_R2并创建了一个带有部分名称的文件。
我试图将字符串列表传递给subprocess.run()
我尝试过这个并没有成功并产生错误。
import subprocess
partial_name_files = ['S3_R', 'S4_R']
for file in partial_name_files:
print(subprocess.run(["commands", "-arg1 -arg2 {0}1.gz {0}2.gz"].format(file)))
错误消息 - AttributeError:'list'对象没有属性'format'
答案 0 :(得分:1)
您正尝试在format
对象上运行str
,list
方法(如提及的例外情况)。
要解决此问题,请更改format
来电的位置:
print(subprocess.run(["commands", "-arg1 -arg2 {0}1.gz {0}2.gz".format(file)]))