几行Python代码搞定文件操作

生命苦短,我用Python。

众所周知,Python除了不能生孩子,啥都能干。

在日常工作中,处理一些文件,用Python往往只需几行代码就可以搞定。批量读取文件,修改文件。给文件夹、文件统一格式重命名等。都可用Python一键搞定。

本篇博客汇总了一些比较常用的Python文本操作,若有缺漏,欢迎评论告知。

若本文对你有所帮助,那点赞、关注、收藏就动手点一点呗

文件的读写

open()方法

用open()方法可以对文本进行读写操作,它会返回一个File对象,调用的时候,一般需要传入两个参数

  • file:名文件(绝对路径或者相对路径都行)。
  • mode:访问的模式。常用的有
    • w:写入模式,如果文件不存在则会创建一个,若存在,删掉原有内容。从头开始编辑。
    • w+:读写模式。如果文件不存在则会创建一个,若存在,删掉原有内容。从头开始编辑。
    • r:只读模式。从文件头开始读取文件。
    • a:追加模式。若文件已存在,则从文件尾开始编辑,若不存在,则创建一个。
    • a+:读写模式。若文件已存在,则从文件尾开始编辑,若不存在,则创建一个。
    • 若需要读取二进制文件或者用二进制的方式写入文件。则在上述模式后面加一个’b’。例如:wb,wb+,rb,ab,ab+。

若打开的文件中存在中文,那可能会出现乱码情况。这时候就得用到第三个参数,指定文件打开的编码格式

  • encoding:根据文件的编码进行填写。

获取一个文件对象

file=open('filename','r')

这样我们就获得了一个文件对象。那么如果要获取文件中的内容,可以用for循环来读取每一行

for line in file:
    print(line)

若要读取指定数量的字符,可以使用read()方法

chars=file.read(20) # 从文件读取指定的字节数,如果未给定或为负则读取所有。

设置文件指针的位置,可以用seek()方法

  • offset:偏移量,需要便宜多少字节
  • whence:默认值为0。表示offset从什么地方开始偏移。
file.seek(00)

写入文件,可以用write()方法

s="jiangxiaoju"
file.write(s)

若想同时写入多个字符串的话,可以用writelines。

strs=['aaaa\n','bbbb']
file.writelines(strs) # 若需要换行,则需要在字符串后面加上换行符

文件/目录操作

文件操作也是一个很强大的功能。Python提供了非常多的方法,几乎涵盖了所有可能的操作。博主这里就列举几个常用到的,具体可以参考这里列举的方法。Python OS 文件/目录方法

对于文件的操作,都在os这个包里面。

首先导入os这个包

import os

权限判断

确认是否有某些操作权限,不过对于Windows用户一般是不要考虑的。只有Linux这种多用户系统才需要判断是否有某些权限。os.access(path,mode)

  • path:需要判断权限的路径。
  • mode:有四种参数os.F_OK 判断path是否存在。os.R_OK判断是否可读。os.W_OK判断是否可写。os.X_OK判断是否可执行。

切换工作目录、返回当前工作目录

这个操作跟dos命令很像

os.chdir(path)# path 就是要切换的新路径
os.getcwd()

创建文件夹

os.mkdir()创建文件夹,需要两个参数

  • path:创建的目录或者文件夹名
  • mode:设置的权限数字模式。默认为0777(八进制)
os.mkdir('/tmp/test') #以Linux系统上为例。 

重命名文件或目录

os.rename()。需要两个参数

  • src:要修改的目录名
  • dst:修改后的目录名
os.rename('test','test2')

获取指定文件夹下的所有文件或者文件夹名

os.listdir() 方法

dirs=os.listdir('./')
for file in dirs:
    print(file)

os.path()模块

该模块用于获取文件的属性。

获取绝对路径

os.path.abspath(path)

判断路径是否存在

os.path.exists(path)

获取文件名

os.path.basename(path)

判断是否为文件

os.path.isfile(path)

判断是否为目录

os.path.isdir(path)

路径拼接

将目录和文件名合成一个目录

os.path.join('/test','a.txt')

为列举的方法可以参考这里Python os.path() 模块

猜你喜欢

转载自blog.csdn.net/qq_43058685/article/details/107967385
今日推荐