欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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文件。

上一篇:

下一篇: