将列表变量传递给Subprocess.call函数

时间:2019-03-28 18:28:31

标签: python

我正在尝试在line循环内传递变量for,该循环正在调用subprocess.call以计算unix命令cksum

with open('./my_filelist', 'r') as f:
    for line in f.readlines():
        print "Printing Checksum --->"
        print ""
        subprocess.call(["cksum",line])

应打印cksum中所有文件的./my_filelist

1 个答案:

答案 0 :(得分:0)

file.readlines方法返回的行均以换行符结尾(如果文件不以尾随换行符结尾,则最后一行除外)。您应该删除尾随换行符的行;否则,当作为参数传递给cksum时,换行符将被视为文件名的一部分:

subprocess.call(["cksum", line.rstrip()])