是否可以在Windows python中使用mv
。
我想使用mv --backup=t *.pdf ..\
制作现有文件的副本,但不想覆盖它们,而Windows move
命令不支持现有文件的后缀。
我可以在Windows Bash或CygWin中使用mv
命令运行我的脚本,但不能在cmd
或powershell
上运行。
那么可以在Windows python中使用Linux命令吗?
编辑:我正在使用python 2.7
答案 0 :(得分:1)
我尝试了一种不同的方法,在名称末尾用随机十六进制重命名现有文件'
我非常满意:D
if os.path.isfile('../%s.pdf' % name) == True:
os.system('magick *.jpg pdf:"%s".pdf' % name_hex)
else:
os.system('magick *.jpg pdf:"%s".pdf' % name)
答案 1 :(得分:0)
os.rename(src, dst)
将文件或目录src重命名为dst。如果dst是目录,则会引发OSError。在Unix上,如果dst存在且是一个文件,如果用户有权限,它将被静默替换。如果src和dst在不同的文件系统上,则某些Unix风格的操作可能会失败。如果成功,重命名将是原子操作(这是POSIX要求)。 在Windows上,如果dst已经存在,即使它是文件,也会引发OSError;当dst命名现有文件时,可能无法实现原子重命名。
或shutil.move(src, dst)
递归地将文件或目录(src)移动到另一个位置(dst)。
如果目标是现有目录,则src将在该目录中移动。如果目标已经存在但不是目录,则可能会被覆盖,具体取决于os.rename()语义。
如果目标位于当前文件系统上,则使用os.rename()。否则,将src复制(使用shutil.copy2())到dst然后删除。
如果我找对你,两者都会为你效劳。
顺便说一下,当我安装git时,您可以在安装过程中在CMD中启用Linux命令。 (注意那里的复选框),但我不确定它将如何表现并与你的脚本集成。