小镇的夕阳|知道了这些,您可以使用Python超过99%的文件操作( 三 )
print(os.stat("text.txt"))>>> os.stat_result(st_mode=33188, st_ino=8618932538,st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=16, st_atime=1597527409,st_mtime=1597527409, st_ctime=1597527409)
您也可以使用os.path单独获取统计信息 。
os.path.getatime()os.path.getctime()os.path.getmtime()os.path.getsize()
路径库获取完整状态的另一种方法是使用pathlib.Path(“ text.txt”) 。 stat() 。它返回与os.stat()相同的对象 。
print(pathlib.Path("text.txt").stat())>>> os.stat_result(st_mode=33188, st_ino=8618932538, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=16, st_atime=1597528703, st_mtime=1597528703, st_ctime=1597528703)
在以下各节中 , 我们将比较os和pathlib的更多方面 。
复制 , 移动和删除文件Python有许多内置模块来处理文件移动 。在您信任Google返回的第一个答案之前 , 您应该意识到 , 不同的模块选择会导致不同的性能 。一些模块将阻塞线程 , 直到文件移动完成 , 而其他模块则可能异步执行 。
关闭
shutil是用于移动 , 复制和删除文件和文件夹的最著名的模块 。它提供了4种仅复制文件的方法 。copy() , copy2()和copyfile() 。
copy()与 copy2():copy2()与copy()非常相似 。不同之处在于copy2()还复制文件的元数据 , 例如最近的访问时间 , 最近的修改时间 。但是根据Python文档 , 由于操作系统的限制 , 即使copy2()也无法复制所有元数据 。
shutil.copy("1.csv", "copy.csv")shutil.copy2("1.csv", "copy2.csv")print(pathlib.Path("1.csv").stat())print(pathlib.Path("copy.csv").stat())print(pathlib.Path("copy2.csv").stat())# 1.csv# os.stat_result(st_mode=33152, st_ino=8618884732, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=11, st_atime=1597570395, st_mtime=1597259421, st_ctime=1597570360)# copy.csv# os.stat_result(st_mode=33152, st_ino=8618983930, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=11, st_atime=1597570387, st_mtime=1597570395, st_ctime=1597570395)# copy2.csv# os.stat_result(st_mode=33152, st_ino=8618983989, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=11, st_atime=1597570395, st_mtime=1597259421, st_ctime=1597570395)
367/5000
copy()与 copyfile():copy()将新文件的权限设置为与原始文件相同 , 但是copyfile()不会复制其权限模式 。其次 , copy()的目标可以是目录 。如果存在同名文件 , 则将其覆盖 , 否则 , 将创建一个新文件 。但是 , copyfile()的目的地必须是目标文件名 。
shutil.copy("1.csv", "copy.csv")shutil.copyfile("1.csv", "copyfile.csv")print(pathlib.Path("1.csv").stat())print(pathlib.Path("copy.csv").stat())print(pathlib.Path("copyfile.csv").stat())# 1.csv# os.stat_result(st_mode=33152, st_ino=8618884732, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=11, st_atime=1597570395, st_mtime=1597259421, st_ctime=1597570360)# copy.csv# os.stat_result(st_mode=33152, st_ino=8618983930, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=11, st_atime=1597570387, st_mtime=1597570395, st_ctime=1597570395)# copyfile.csv# permission (st_mode) is changed# os.stat_result(st_mode=33188, st_ino=8618984694, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=11, st_atime=1597570387, st_mtime=1597570395, st_ctime=1597570395)shutil.copyfile("1.csv", "./source")# IsADirectoryError: [Errno 21] Is a directory: './source'
推荐阅读
- 快了棒棒糖|你知道几种?,世界各国的通用弹药
- 早知道| 马蓉被曝恋上63岁富商,长相还被嘲不如王宝强?真相曝光太滑稽,
- 早知道|绝美女神赵丽颖的穿搭曝光“包子脸”们值得模仿的“颖宝”穿搭
- 资讯早知道|9年后再看《步步惊心》,发现若曦无论跟谁都不会幸福
- 上海嘉定|白露节气到,这些饮食习俗你知道吗?
- 微微一笑很凑合|谁知道你媳妇在喂小孩
- 清华大学|清华副校长直言:80%考上清华的高考状元,去哪了?一般人不知道
- 映璇汽车工作室|终于知道它为啥难卖了,看完长城WEY内部技术团队做的竞品分析
- 现代快报|货车工具箱塞了400多条香烟,司机说啥也不知道
- 消化疾病|秋燥来袭口燥咽干还便秘?秋燥的人都应知道的4种缓解方法,建议收藏