文件的读写
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(0,0)
写入文件,可以用write()方法
s="jiangxiaoju"file.write(s)
若想同时写入多个字符串的话,可以用writelines。
strs=[‘aaaa\n’,‘bbbb’]file.writelines(strs) # 若需要换行,则需要在字符串后面加上换行符
文件/目录操作
文件操作也是一个很强大的功能。Python提供了非常多的方法,几乎涵盖了所有可能的操作。
首先导入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’)