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')

运行结果:

python基础案例:给文件名添加前缀_第1张图片

 

练习:给文件名添加前缀

程序是:

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)

 

 

 

 

 

 

 

你可能感兴趣的:(python基础案例:给文件名添加前缀)