在蟒蛇2.7.2,我需要在Linux的文件的副本。
的newfile = “namePart1” +辞典[键] + “namePart2”
使用os.system( “CP cfn5e10_1.lp newfile中”)
但是,在newfile中不能被其正确的字符串替换。
在论坛的帖子也没有办法。
任何帮助非常感谢。
在蟒蛇2.7.2,我需要在Linux的文件的副本。
的newfile = “namePart1” +辞典[键] + “namePart2”
使用os.system( “CP cfn5e10_1.lp newfile中”)
但是,在newfile中不能被其正确的字符串替换。
在论坛的帖子也没有办法。
任何帮助非常感谢。
使用shutil.copyfile
复制文件,而不是os.sytem
,它并不需要创建一个新的过程,它会自动处理与他们不同寻常的字符的文件名,如空间- os.system
只是传递命令到shell和外壳可能会分手是有空格的文件名他们,以及其他可能的问题。
例如:
newfile = "namePart1" + dictionary[key] + "namePart2"
shutil.copyfile("cfn5e10_1.lp", newfile)
这不会替换newfile
与您的变量。
os.system("cp cfn5e10_1.lp newfile")
您需要将变量串联到像这样的字符串的结尾:
os.system("cp cfn5e10_1.lp " + newfile)
如果你想打电话给cp
从Python中,使用subprocess
模块:
subprocess.call(["cp", "cfn5e10_1.lp", "newfile"])
但最好是使用函数从shutil
模块来代替。