Python学习:split()方法以及关于str.split()[0]等形式内容的详细讲解:https://blog.csdn.net/qq_41780295/article/details/88555183
几个技术细节
- Linux shell和python的针对路径的语法不同,.py中要表示shell中的根目录‘~/’需要找到具体的位置‘/home/yupengfei/’(例如:),具体位置可以从任意一个文件的属性中看到。
- Linux系统的shell内可以看到所有文件,包括隐藏文件。
上机实践:
批量修改文件名
##rename_py
import os
#读取文件名称及其路径
def load_file_list(directory):
list = []
for filename in [y for y in os.listdir(directory) if os.path.isfile(os.path.join(directory,y))]:
list.append(os.path.join(directory,filename))
return sorted(list)
qpList=['22','27','32','37']
## 同时修改四个文件夹的文件名
for qp in qpList:
dir = '/home/yupengfei/HM-16.9/CTC169/CTC_txt/'+qp
org_file_list =load_file_list(dir)
print(org_file_list)
with open('_'+qp+'rename.sh','w') as f:
for name in org_file_list:
print(name)
new_name = name.split('_.txt',1)[0]
f.write('mv '+name+'\t'+new_name+'.txt')
f.write('\n')
使用上述脚本生成
- _22rename.sh :
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/BQMall.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/BQMall.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/BQSquare.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/BQSquare.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/BQTerrace.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/BQTerrace.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/BasketballDrill.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/BasketballDrill.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/BasketballDrillText.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/BasketballDrillText.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/BasketballDrive.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/BasketballDrive.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/BasketballPass.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/BasketballPass.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/BlowingBubbles.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/BlowingBubbles.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/Cactus.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/Cactus.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/ChinaSpeed.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/ChinaSpeed.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/FourPeople.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/FourPeople.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/Johnny.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/Johnny.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/Kimono1.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/Kimono1.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/KristenAndSara.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/KristenAndSara.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/ParkScene.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/ParkScene.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/PartyScene.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/PartyScene.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/PeopleOnStreet.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/PeopleOnStreet.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/RaceHorses.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/RaceHorses.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/RaceHorsesC.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/RaceHorsesC.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/SlideEditing.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/SlideEditing.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/SlideShow.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/SlideShow.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/Traffic.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/Traffic.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/vidyo1.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/vidyo1.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/vidyo3.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/vidyo3.txt.txt
mv /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/vidyo4.txt /home/yupengfei/HM-16.9/CTC169/CTC_txt/22/vidyo4.txt.txt