python基础案例:给文件名添加前缀
首先来个小练习使用os模块中的mkdirs方法创建多层目录
思路分析:os.mkdirs()方法只能创建单层目录,要创建多级目录,需要将多级目录分开按照顺序先创建一层目录,然后切换到创建的目录里面再创建一层目录,也就是二级目录,然后在切换到目录里面,创建最后一级目录
程序为:
def mkdirs(path):
path_lst=path.split('/') # 将多级目录一'/'形式分开
for file in path_lst:
if not os.path.exists(file):
# 如果在当前目录里面不存在指定的文件或者文件夹,就继续向下执行,同理循环进行
os.mkdir(file) # 创建一层指定的目录
os.chdir(file) # 切换到指定目录
if __name__ == '__main__':
mkdirs('file03/file04/file05')
运行结果:
练习:给文件名添加前缀
程序是:
import os
while True:
content=input('请输入目录:') # file04
if os.path.exists(content):
'''表示路径存在'''
os.chdir(content) # 切换到输入的目录 切换到了file04目录
all_file_lst=os.listdir(os.getcwd())
# 获取目录列表形式 将file03目录下的文件或者文件夹以列表形式打印
print(all_file_lst) # ['c.txt', 'demon01.py', 'file05', '__init__.py']
file_lst=[] # 保存所有文件
dir_lst=[] # 保存所有文件夹
for file in all_file_lst:
if os.path.isfile(file): # 判断当前目录下面的内容是否为文件
'''文件'''
file_lst.append(file)
else:
'''文件夹'''
dir_lst.append(file)
# 打印所有的文件和文件夹
print('文件{}:'.format(file_lst))
print('文件夹{}'.format(dir_lst))
ret=input('请选择操作:添加前缀(A) 删除前缀(D) 添加文件(c) 删除文件(del) 修改文件名称(R)')
if ret.lower() == 'a':
prefix=input('请输入前缀:')
for file in all_file_lst:
os.rename(file,prefix+file)
print('前缀添加成功了...')
elif ret.lower() == 'd':
prefix = input('请输入要删除的前缀:')
for file in all_file_lst:
os.rename(file, file.replace(prefix,'',1))
print('删除前缀成功了...')
elif ret.lower() == 'c':
file_name=input('请输入文件名称:')
with open(file_name,mode='w') as f:
pass
print('亲,创建成功了')
elif ret.lower() == 'del':
file_name=input('请输入要删除的文件名称:')
os.remove(file_name)
print('删除文件成功...')
elif ret.lower() == 'r':
file=input('请输入要修改的名称和新名称[old new]')
file = file.split()
os.rename(file[0],file[1])
print('修改成功了...')
else:
print('亲,输错啦...')
else:
print('此路径不存在...')
# 注意每次运行完后由于当前路径已经切换到了指定的内容,因此
# 需要将路径再改回来,当前文件所在目录为根目录day24,需要将
# 当前目录路径再改回day24
os.chdir('..') # 切换到上一级目录,
# 切换目录
# os.chdir('..') # 切换到了根目录 day24
# print(os.getcwd()) # 获取当前文件所在目录
# print(__file__) # 获取当前文件的绝对路径
# os.chdir(os.getcwd()) # 切换到file03所在的父目录也就是根目录day24
# os.chdir(os.path.dirname(__file__))
# 切换到当前文件或者文件夹所在路径的父目录,也就是day24
运行结果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe E:/homework/pythonworksplace/day24/demon02-给文件添加前缀.py
请输入目录:file04
['a.txt', 'c.txt', 'demon01.py', 'file05', '__init__.py']
文件['a.txt', 'c.txt', 'demon01.py', '__init__.py']:
文件夹['file05']
请选择操作:添加前缀(A) 删除前缀(D) 添加文件(c) 删除文件(del) 修改文件名称(R)a
请输入前缀:a
前缀添加成功了...
请输入目录:file04
['aa.txt', 'ac.txt', 'ademon01.py', 'afile05', 'a__init__.py']
文件['aa.txt', 'ac.txt', 'ademon01.py', 'a__init__.py']:
文件夹['afile05']
请选择操作:添加前缀(A) 删除前缀(D) 添加文件(c) 删除文件(del) 修改文件名称(R)d
请输入要删除的前缀:a
删除前缀成功了...
请输入目录:file04
['a.txt', 'c.txt', 'demon01.py', 'file05', '__init__.py']
文件['a.txt', 'c.txt', 'demon01.py', '__init__.py']:
文件夹['file05']
请选择操作:添加前缀(A) 删除前缀(D) 添加文件(c) 删除文件(del) 修改文件名称(R)del
请输入要删除的文件名称:c.txt
删除文件成功...
请输入目录:file04
['a.txt', 'demon01.py', 'file05', '__init__.py']
文件['a.txt', 'demon01.py', '__init__.py']:
文件夹['file05']
请选择操作:添加前缀(A) 删除前缀(D) 添加文件(c) 删除文件(del) 修改文件名称(R)
还没有评论,来说两句吧...