“Python和运维”的版本间的差异
跳到导航
跳到搜索
第25行: | 第25行: | ||
# As of Python version 3.3 and later, it is generally preferred to use os.replace instead of os.rename so FileExistsError is not raised if the destination file already exists. | # As of Python version 3.3 and later, it is generally preferred to use os.replace instead of os.rename so FileExistsError is not raised if the destination file already exists. | ||
+ | |||
+ | |||
+ | |||
+ | #!/usr/bin/python3 | ||
+ | # -*- coding:utf-8 -*- | ||
+ | # python批量更换后缀名 进入目录的版本 | ||
+ | import os | ||
+ | import sys | ||
+ | os.chdir(r'~/tmp') | ||
+ | |||
+ | # 列出当前目录下所有的文件 | ||
+ | files = os.listdir('./') | ||
+ | print('files',files) | ||
+ | |||
+ | for filename in files: | ||
+ | portion = os.path.splitext(filename) | ||
+ | # 如果后缀是.txt | ||
+ | if portion[1] == ".txt": | ||
+ | # 这里是把 .txt去掉 重新组合文件名和后缀名 | ||
+ | newname = portion[0] | ||
+ | |||
+ | #txt 文件改为sh 要用这个记得打开下行注释 | ||
+ | #newname = portion[0] + ".sh" | ||
+ | |||
+ | os.rename(filename,newname) | ||
+ | #os.rename(filename,newname) | ||
+ | |||
+ | |||
+ | |||
</pre> | </pre> |
2022年2月17日 (四) 07:28的版本
python常用的运维脚本
py3 批量修改文件后缀名 或者去掉后缀名
#!/usr/bin/python3 # -*- coding:utf-8 -*- # python批量更换后缀名 注意 需要把脚本放在与修改的文件同一目录下,因为filenames只是获取了程序目录的文件名。 import os # 列出当前目录下所有的文件 files = os.listdir('.') for filename in files: portion = os.path.splitext(filename) # 如果后缀是.dat if portion[1] == ".txt": # 这里是把 .txt去掉 重新组合文件名和后缀名 newname = portion[0] #txt 文件改为sh 要用这个记得打开下行注释 #newname = portion[0] + ".sh" #os.rename(filename,newname) os.replace(filename,newname) # As of Python version 3.3 and later, it is generally preferred to use os.replace instead of os.rename so FileExistsError is not raised if the destination file already exists. #!/usr/bin/python3 # -*- coding:utf-8 -*- # python批量更换后缀名 进入目录的版本 import os import sys os.chdir(r'~/tmp') # 列出当前目录下所有的文件 files = os.listdir('./') print('files',files) for filename in files: portion = os.path.splitext(filename) # 如果后缀是.txt if portion[1] == ".txt": # 这里是把 .txt去掉 重新组合文件名和后缀名 newname = portion[0] #txt 文件改为sh 要用这个记得打开下行注释 #newname = portion[0] + ".sh" os.rename(filename,newname) #os.rename(filename,newname)
os.path.splitext
os.path.splitext(“文件路径”) 分离文件名与扩展名;默认返回(fname,fextension)元组,可做分片操作