******更新*******
这是我迄今为止编写的代码:
import os
import glob
import re
#from pathlib import Path
import sys
print("Welcome!")
path = r"D:\aerial_mbu\ForeFlight\ForeFlight Content Packs\OGLMissionsContentPack\layers"
files = os.listdir(path)
for name in files:
if name.startswith("1"):
new_name = name.replace(name[:6], "")
print(new_name)
os.rename(name, new_name)
不幸的是,它没有重命名文件,相反,我一直看到以下错误: enter image description here
我的os.rename调用似乎有问题,因为它正在打印正确的名称(新名称)
*******原职务******* 我正在寻找一种方法来重命名文件夹中的一些文件。有些文件名以6个附加数字开头,有些文件名不以6个附加数字开头。我想通过整个文件夹,并删除6个额外的数字从文件中有他们
当前文件夹示例:
1111_job_name1.txt
1112_job_name2.txt
1113_job_name3.txt
job_name4.txt
1115_job_name5.txt
job_name6.txt
所需文件夹示例:
job_name1.txt
job_name2.txt
job_name3.txt
job_name4.txt
job_name5.txt
job_name6.txt
我最初尝试在命令行中调用rename,但由于条件限制,我无法让它工作
如果字符串的数字为6个字符,则可以使用re进行匹配,如果不匹配,则计算结果为NULL,并且if中的语句不执行。它仅与start匹配,因为我们使用“^”
然后后来
您可以将那些匹配的字符替换为
""
->;到一个空字符串。有剥离。 所以你的代码是这样的我看到有一个“u”如果你想把它也去掉,你可以用这个
r"^\d{6}\_"
作为重新表达。 如果您不想输入手边的位数,并且想删除以任意位数开头的文件,请使用此r"^[0-9]+\_"
下面是我根据这个article创建的脚本
相关问题 更多 >
编程相关推荐