python批量删除文件名中的下划线-代码详解
程序员文章站
2023-12-24 18:34:09
...
对于文件名中出现的"_",如(500_600),将下划线消除,替换为(500600)
代码示例:
import os
def renames(path):
files = os.listdir(path) # 获取当前目录的所有文件及文件夹
for filename in files:
try:
file_path = os.path.join(path, filename)
print(filename)
file_path1 = os.path.join(path, filename.replace('_',''))
os.rename(file_path,file_path1)
except:
continue
renames('xxx') # 需要更改的文件夹所在路径
代码详解
os.listdir:用于返回指定的文件夹包含的文件或文件夹的名字的列表
语法为:os.listdir(path) # path为需要列出的目录路径
示例:
import os
# 打开文件
path = "C:\Users\asus\Desktop\specair\regression\specair_spectrum"
dirs = os.listdir( path )
# 输出所有文件和文件夹
for file in dirs:
print (file)
执行上述程序的结果为:
桌面助手.lnk
深度学习解偏微分方程.docx
百度网盘.lnk
研究生组会记录
签到表.xlsx
结果记录.docx
网络说明.txt
os.path.join:连接两个或多个路径名
注:
- 1.如果各路径名首字母不包含’/’,则函数会自动加上
- 2.如果有一个路径是一个绝对路径,则在它之前的所有路径均会被舍弃
- 3.如果最后一个路径为空,则生成的路径以一个’/’分隔符结尾
代码示例:
import os
Path1 = 'home'
Path2 = 'develop'
Path3 = 'code'
Path1_2_3 = Path1 + Path2 + Path3
Path123 = os.path.join(Path1, Path2, Path3)
print ('Path1_2_3 = ', Path1_2_3)
print ('Path123 = ', Path123)
执行上述程序的结果为:
Path1_2_3 = homedevelopcode
Path123 = home\develop\code
filename.replace:把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次
语法:str.replace(old, new[, max])
代码示例:
str = "this is string example....wow!!! this is really string"
print str.replace("is", "was")
print str.replace("is", "was", 3)
执行上述程序的结果为:
thwas was string example…wow!!! thwas was really string
thwas was string example…wow!!! thwas is really string
os.rename: 用于重命名文件或目录
语法: os.rename(src, dst)
src – 要修改的目录名
dst – 修改后的目录名
代码示例:
# 在桌面建立了一个123.txt文件,改名为234.txt
Path1 = r'C:\Users\asus\Desktop\123.txt'
Path2 = r'C:\Users\asus\Desktop\234.txt'
Path_new = os.rename(Path1, Path2)
执行上述程序的结果为:
桌面的123.txt文件改名为了234.txt文件。