分享

Python-文件及目录操作

 禁忌石 2022-04-02
文章图片1

文件及目录操作

  • Python中的路径
'''python中的路径''''''在python中,我们用内置os模块来进行系统及目录的相关操作'''import os# 1.查看当前系统# nt是windows,posix是linuxprint(os.name)# 2.查看当前系统的换行符print(os.linesep.encode())# 3.查看当前系统的路径分隔符print(os.sep)# 4.获取当前目录print(os.getcwd())# 5.获取指定路径下的文件和目录名print(os.listdir())# 6.创建文件夹print('创建一级文件夹用os.mkdir(path)')# 7.创建多级文件夹print('创建多级文件夹用os.makedirs(path)')# 8.删除文件夹print('删除文件夹用os.rmdir(path)')# 9.删除多级文件夹print('删除多级文件夹用os.removedirs()')# 10.遍历目录,返回路径名、目录、文件名组成的元组for i in os.walk('./'): print(i)# 除了os,还有os.path模块可以操作目录# 11.获取绝对路径print(os.path.abspath('./'))# 12.判断目录或文件是否存在print('判断目录或文件是否存在用os.path.exists(path)')# 13.将目录与目录或文件名拼接print(os.path.join(r'\1', r'\2', '3.txt'))# 14.分离文件名和后缀print(os.path.splitext('123.txt'))# 15.提取文件名print(os.path.basename(r'\1\2\3.txt'))# 16.提取路径名print(os.path.dirname(r'\1\2\3.txt'))# 17.判断是否有效路径print(os.path.isdir(r'\1\2\3.txt'))'''结果ntb'\r\n'\F:\sync\Video\Base_python\class\11文件及目录操作['11.1Python中目录.py', '11.2路径.py']创建一级文件夹用os.mkdir(path)创建多级文件夹用os.makedirs(path)删除文件夹用os.rmdir(path)删除多级文件夹用os.removedirs()('./', [], ['11.1Python中目录.py', '11.2路径.py'])F:\sync\Video\Base_python\class\11文件及目录操作判断目录或文件是否存在用os.path.exists(path)\2\3.txt('123', '.txt')3.txt\1\2False'''
  • 路径
'''路径'''import os'''路径分为相对路径和绝对路径'''# 用getcwd()获取当前工作目录print(os.getcwd())# 相对于工作目录的路径就是相对路径# 比如'11.1Python中目录.py'就是相对路径# 操作这个文件可以直接写文件名# 代表工作目录下的文件# 再比如有一个demo,文件夹下有一个demo.py# 操作测试文件.py文件可以写成demo\\demo.py# 也可以写成测demo/demo.py'''. 代表当前所在目录.. 代表当前所在目录的父目录./ 代表当前所在目录下的某个文件夹或文件../ 代表当前所在目录的父目录下的某个文件夹或文件'''# 获取绝对路径print(os.path.abspath(r'demo\demo.py'))# 路径拼接print(os.path.join(os.getcwd(), 'demo/demo.py'))# 判断路径是否存在print(os.path.exists('demo/demo.py'))# 创建文件夹# 创建demo1文件夹# os.mkdir('demo1')# 如果文件夹已经存在将报错# os.mkdir('demo1')# 此时可以配合判断路径是否存在if os.path.exists('demo1'):    print('文件夹已存在')else:    os.mkdir('demo1')    print('文件夹创建成功')# 创建多级目录# 用mkdir()会报错# os.mkdir('demo2/demo2')# os.makedirs('demo2/demo2')# 删除文件夹# 文件夹为空才起作用# os.rmdir('demo')os.rmdir('demo1')# os.rmdir('demo2')# 如果文件夹不存在将会报错# 此时配合判断文件夹是否存在来删除if os.path.exists('demo2'):    os.rmdir('demo2')    print('删除成功')else:    print('文件夹不存在')# 遍历文件夹for i in os.walk('..'):    print(i)print('')for root, dirs, files in os.walk('..'):    print(root)    print(dirs)    print(files)
  • 文件操作
'''文件操作'''# 打开文件file = open('123.py', 'r+', encoding='utf8')# 打开文件报错,因为r的原因'''r 只读模式,指针在开头rb 只读模式,以二进制格式打开文件,指针在开头r+ 读写模式,从头写rb+ 读写模式,以二进制格式打开文件,从头写w 只写模式,创建文件(清空原有文件)wb 只写模式,以二进制格式打开文件,创建文件(清空原有文件)w+ 写读模式,创建文件(清空原有文件)wb+ 写读模式,以二进制格式打开文件, 创建文件(清空原有文件)a 追加模式,只写,指针在结尾,创建或打开ab 追加模式, 只写,以二进制格式打开文件,指针在结尾,创建或打开a+ 追加模式,写读,指针在结尾,创建或打开ab+ 追加模式,写读,以二进制格式打开文件,指针在结尾,创建或打开'''# 读文件print(file.read(5))# 查看光标位置print(file.tell())# 设置光标file.seek(0)# 读取编码print(file.encoding)# 文件名print(file.name)# 文件立即写入file.flush()# 文件设置buffering,缓存大小# 0不缓存,1缓存 默认,大于1就是大小file.write('111111111111111111111111111111')file.seek(2)# 文件截断file.truncate(2)# 关闭文件file.close()# 以上下文管理方式打开文件with open('123.py', 'r+', encoding='utf8') as f: f.read()
  • 文件高级操作
'''文件高级操作'''import osimport time# 删除文件# os.remove('123.py')# 没有文件将报错if os.path.exists('123.py'):    os.remove('123.py')# 重命名文件和目录if os.path.exists('demo/demo.py'):    os.rename('demo/demo.py', 'demo/demo1.py')    print('重命名完成')# 获取文件信息print(os.stat('demo/demo1.py'))'''st_mode:保护模式st_ino:索引号st_dev: 设备名st_nlink:被链接数st_uid: 用户IDst_gid: 组IDst_size: 文件大小st_atime: 最后一次访问时间st_mtime: 最后一次修改时间st_ctime: 创建时间'''# 演示格式化信息def format_time(second):    return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(second))def format_byte(number):    for byte in ['B', 'KB', 'MB', 'GB', 'TB']:        if number < 1024:            return '{:.2f}{}'.format(number, byte)        number /= 1024def get_info(file):    info = os.stat(file)    print(f'文件大小:{format_byte(info.st_size)}')    print(f'最后一次访问:{format_time(info.st_atime)}')    print(f'最后一次修改:{format_time(info.st_mtime)}')    print(f'创建时间:{format_time(info.st_ctime)}')if __name__ == '__main__':    get_info('77-Python文件及目录操作-路径.mp4')

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约