from subprocess import call
def change_attribute(filename,attrib):
try:
call(["attrib ", attrib , filename])
except OSError as exception:
raise exception
f1 = "D:\\Tests\\fileattrib\\file1.txt"
att = ["+s","+h"]
#att = "+s" // this works fine
#time.sleep(5)
change_attribute(f1,att)
我有一个函数change_attribute
()来更改文件属性。
在上面的脚本中,如果我将'list' att
替换为'string'
变量,则效果很好。
但如果我传递列表att,它会抛出异常"parameter format not correct
。
接受列表作为对方法的争议需要做出哪些更改。请在python中看到我作为新手。 任何帮助都将受到高度赞赏
答案 0 :(得分:1)
call
需要一个字符串数组,而不是包含字符串的数组,字符串数组和另一个字符串。
您可以通过执行
来解决这个问题call(["attrib"] + attrib + ["filename"])