前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >文件和文件夹操作,学会这八个方法就够了,必须收藏备用

文件和文件夹操作,学会这八个方法就够了,必须收藏备用

原创
作者头像
菜鸟小白的学习分享
修改2021-05-14 10:14:00
1.1K1
修改2021-05-14 10:14:00
举报

前言

    之前菜鸟小白给大家分享过一次文件处理器的编码,我发现有一些粉丝私信我一些关于文件处理的问题,今天就给大家再梳理一遍文件处理的几个方法,大家记得自己验证收藏哦。

01遍历文件夹

    我们要对文件进行处理,不可避免的问题就是在一个文件夹中找到自己的需要处理的文件,这就需要我们对文件夹中的文件进行遍历。使用python自带的OS模块就可以轻松遍历文件夹,os.walk遍历后产生三个参数:

  1. 当前文件夹路径
  2. 包含文件夹名称(列表形式)
  3. 包含文件名称(列表形式)

    代码如下,大家可以根据自己的路径进行修改

代码语言:javascript
复制
import os
for path, names, filenames in os.walk(r'E:\\gongzhonghao\\20210512'):    print(f'打开文件夹:"{path}"')  # 当前文件夹路径    if names:        print(names)  # 包含文件夹名称[列表形式]    if filenames:        print(filenames)  # 包含文件名称[列表形式]    print('-' * 10)

    当手上的需求明确有获取给定路径各级文件夹下所有符合条件的文件,并进行相应的批处理操作时,即可使用 os.walk

02获取路径中的文件名

os.path.basename可以直接从给定的路径中获取到最后的文件名称

代码语言:javascript
复制
##获取文件名path = 'E:\\gongzhonghao\\20210512\\test.py'print(os.path.basename(path))

03判断是否为文件

通过一行代码就能够判断给定的路径是文件还是文件夹路径

代码语言:javascript
复制
##判断是否为文件path = 'XXX'print(os.path.isfile(path))

    这个函数还可以用来判断指定文件是否存在,只需要将path内容设置为文件绝对地址,若不存在则会返回False

04获取桌面路径

    我们经常也会遇到需要获取桌面路径的操作,可以使用如下语句直接获取桌面的绝对路径

代码语言:javascript
复制
##获取桌面路径print(os.path.join(os.path.expanduser("~"), 'Desktop'))

    这样能够直接将数据放在桌面上,在不同环境中都可以运行处理

05创建文件夹

    我们还有一个非常非常常见的操作就是创建文件夹,不管是存储过程数据,还是存储日志记录都需要遇到。我们使用os.mkdir函数就可以了

代码语言:javascript
复制
#创建目录path = 'test1'#创建的子文件夹名称os.mkdir(path)

    上面程序默认会在当前程序所在目录下创建子文件夹,若需要在其他文件夹下创建子文件夹,需要将path赋值为绝对路径

代码语言:javascript
复制
##创建目录F_path = 'E:\\gongzhonghao\\20210512'#目标文件夹,需要在此文件夹下创建子文件夹path = 'test'#创建的子文件夹名称os.mkdir(F_path+'\\'+S_path)

    创建文件还有遇到一种情况就是我设定的文件夹名称已经存在的话,使用上面的代码就会报错。为了避免这种情况发生,我们一般在创建文件夹之前都会判断文件夹是否已经存在

代码语言:javascript
复制
path = 'test1'#创建的子文件夹名称if not os.path.exists(path):    os.mkdir(path)

06重命名

    有时候我们还需要对文件或者文件名进行重命名,这就需要用到os.rename方法

代码语言:javascript
复制
##重命名os.rename('test.txt', 'test1.txt')  # 重命名文件os.rename('test1', 'test2') # 重命名文件夹

07移动文件/文件夹

    移动文件和文件夹需要使用的是shutil.move

代码语言:javascript
复制
import shutil##移动文件夹或者文件shutil.move(r'E:\\gongzhonghao\\20210512\\test', r'E:\\gongzhonghao\\20210512\\test2')shutil.move(r'.\test.txt', r'.\new.txt')

    需要注意的是,上面代码的效果是剪切效果。另外python中‘.\’代表着脚本所在的当前目录。

08复制文件

    那如果我们需要完成复制文件的操作应该怎么做呢?具体如下:

代码语言:javascript
复制
##复制文件并且对文件进行重命名shutil.copyfile(r'.\test2\\new.txt',r'.\test.txt')

    需要注意的是shutil.copyfile只能复制文件,第二个参数目标文件名如何与原文件名不一致,则拷贝到目标路径后进行改名操作。

结束语

    好了,以上就是我为大家整理的八个常用的文件或者文件夹操作,大部分都是可以通用的,大家可以收藏本文,并在需要进行相关操作的时候可以直接复制粘贴使用。

    另外也希望大家在自己写代码、读别人代码时,可以多去思考哪些函数/代码片段是可以为我所用,这样才会进步的更快!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档