python 目录操作
__author__ = 'Administrator' # _*_ coding: UTF-8 _*_ # @Create by gengyu # @Create Time :2021/12/4 # @File_name : exists # wn.run/https:// import os,sys,pathlib import glob import shutil ''' this is __doc__ ''' def test1(): # 获取当前目录 # base_path = pathlib.Path.cwd() base_path = os.getcwd() # 获取当前文件绝对目录(path+file_name) # <class 'list'> path = sys.argv # <class 'str'> path1 = sys.argv[0] path2 = __file__ path3 = pathlib.Path(__file__) # 获取当前文件名称 name = os.path.basename(__file__) name1 = os.path.basename(path1) print(name) # 获取指定路径下所有文件名称,保存到一个列表中。不填参数默认获取当前目录下所有文件名称 path_list = os.listdir() print(path_list) # 检测文件是否存在 res = os.path.isfile(r'C:\Users\Administrator\PycharmProjects\python_switch\myexcel.xlsx') print(res) # 判断是文件还是目录 p = pathlib.Path(r'C:\Users\Administrator\PycharmProjects\python_switch\myexcel.xlsx') if p.is_dir(): print('目录存在') if p.is_file(): print('指定文件存在') if p.exists(): print('指定文件或目录存在') print('44') file_name = r'C:\Users\Administrator\PycharmProjects\python_switch\myexcel.xlsx' try: pathlib.Path("/path/to/file").resolve() # with open(r'%s' % file_name,'r',encoding='utf-8'): # pass except FileNotFoundError: print('文件不存在') else: print('文件存在') def test2(): # 获取当前文件所在目录下所有的txt文件。返回一个列表,不遍历子文件夹下文件 res = glob.glob('*.txt') print(res) # 把所有的 txt 文本全部移动到 archive 目录当中 for file_name in glob.glob('*.txt'): new_path = os.path.join(r'd:/python/', file_name) shutil.move(file_name, new_path) # 使用pathlib新的写法,不支持不同磁盘移动文件 for file_name in glob.glob('*.xlsx'): pathlib.Path(file_name).replace(r'c:/%s' % file_name) # 获取文件的绝对路径 file = pathlib.Path('python_switch.py') print(file.resolve()) # 获取文件的上一级目录 file1 = pathlib.Path(r'C:\Users\Administrator\PycharmProjects\python_switch\python_switch.py') print(file1.parent) print(file1.parents[0]) # exist_ok=True 表示当文件存在时,不进行任何操作,如果不存在则创建文件 # exist_ok=False 表示当文件存在时,会报FileExistsError,文件已存在 file = pathlib.Path('test.txt') file.touch(exist_ok=True) # 删除目录,包括子文件夹 # shutil.rmtree('huawei', ignore_errors=True) # 删除目录,当目录不为空时,无法删除 # os.removedirs('huawei') # # 删除目录,当目录不为空时,无法删除,会报OSError # if pathlib.Path('huawei').exists(): # os.rmdir('huawei') # # 创建目录,os.mkdir() 只能创建一级目录,当文件已存在时,无法创建该文件 # if not pathlib.Path('huawei').exists(): # os.mkdir('huawei') # # os.makedirs() 可以创建多级目录,exist_ok=True 表示当目录存在时,不进行任何操作,如果不存在则创建目录 # os.makedirs('huawei/hisi/baidu',exist_ok=True)
合集:
python
分类:
编程相关 / Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了