运行cp命令,使文件的副本,或者在Python更改文件名(run cp command to mak

2019-09-19 23:00发布

在蟒蛇2.7.2,我需要在Linux的文件的副本。

的newfile = “namePart1” +辞典[键] + “namePart2”

使用os.system( “CP cfn5e10_1.lp newfile中”)

但是,在newfile中不能被其正确的字符串替换。

在论坛的帖子也没有办法。

任何帮助非常感谢。

Answer 1:

使用shutil.copyfile复制文件,而不是os.sytem ,它并不需要创建一个新的过程,它会自动处理与他们不同寻常的字符的文件名,如空间- os.system只是传递命令到shell和外壳可能会分手是有空格的文件名他们,以及其他可能的问题。

例如:

newfile = "namePart1" + dictionary[key] + "namePart2"
shutil.copyfile("cfn5e10_1.lp", newfile)


Answer 2:

这不会替换newfile与您的变量。

os.system("cp cfn5e10_1.lp newfile")

您需要将变量串联到像这样的字符串的结尾:

os.system("cp cfn5e10_1.lp " + newfile)


Answer 3:

如果你想打电话给cp从Python中,使用subprocess模块:

subprocess.call(["cp", "cfn5e10_1.lp", "newfile"])

但最好是使用函数从shutil模块来代替。



文章来源: run cp command to make a copy of a file or change a file name in Python