2024-09-28 22:44:17 发布
网友
我想修改测试.tar.gz进入测试.tgz但它不起作用。命令如下:
temporalFolder= /home/albertserres/*.tar.gz subprocess.call(["mv",temporalFolder,"*.tgz"])
它向我发送了一个错误:文件不存在。为什么?在
另外,我只需要在点后面修改,而不是整个名称,因为我可能不知道文件名,如果我做*.tgz,它会重命名文件*.tgz,我想保留原来的名称。在
要将给定目录中的所有.tar.gz文件扩展名替换为.tgz文件扩展名(类似于@hitzg's answer):
.tar.gz
.tgz
#!/usr/bin/env python from glob import glob for filename in glob(b'/home/albertserres/*.tar.gz'): new = bytearray(filename) new[-len(b'tar.gz'):] = b'tgz' os.rename(filename, new) # or os.replace() for portability
代码只在名称末尾替换tar.gz。如果new是现有目录,则会引发一个错误,否则它会自动替换Unix上的文件。在
tar.gz
new
rename可能更容易。在
rename
rename 's/\.tar\.gz/\.tgz/' *.tar.gz
对你来说
这应该是有效的:
import shutil orig_file = '/home/albertserres/test.tar.gz' new_file = orig_file.replace('tar.gz', 'tgz') shutil.move(orig_file, new_file)
如果要对多个文件执行此操作:
要将给定目录中的所有
.tar.gz
文件扩展名替换为.tgz
文件扩展名(类似于@hitzg's answer):代码只在名称末尾替换
tar.gz
。如果new
是现有目录,则会引发一个错误,否则它会自动替换Unix上的文件。在rename
可能更容易。在对你来说
^{pr2}$这应该是有效的:
如果要对多个文件执行此操作:
^{pr2}$相关问题 更多 >
编程相关推荐