打开文件
使用模块io中的函数open,如打开当前目录就无需指定目录地址,如果文件位于其他地方,可指定完整路径
>>> f=open('C:\\test.py')
注意:将 \ 换为 / ,或者 \\,这是因为Python中\t为换行符,而无法识别。
文件模式
调用函数open时,如果只指定文件名,将获得一个可读取的文件对象。如果要写入文件,必须通过指定模式来显式地指出这一点。函数open的参数mode的可能取值有多个
函数 | 方法 |
---|---|
‘r' | 读取模式 |
’w' | 写入模式 |
‘x' | 独占写入模式 |
’a' | 附加模式 |
‘b' | 二进制模式(与其他模式结合使用) |
’t' | 文本模式(与其他模式结合使用) |
‘+’ | 读写模式(与其他模式结合使用) |
写入模式可以写入文件,如果文件不存在会自动创建;存在文件的情况下打开时所有内容被删除,从头开始写入。如果想在末尾写入可使用附加模式
独占写入模式在文件已存在时,引发FileExistsError异常
r+ :打开一个文本文件进行读写
默认模式为'rt',这意味着将把文件视为经过编码的Unicode文本,因此将自动执行解码和编码,且默认使用UTF-8编码。要指定其他编码和Unicode错误处理策略,可使用关键字参数encoding和errors。这还将自动转换换行字符。默认情况下,行以'\n'结尾。读取时将自动替换其他行尾字符('\r'或'\r\n');写入时将'\n'替换为系统的默认行尾字符(os.linesep)。
读取和写入
>>> f=open('D:\\file.py','w')
>>> f.write('Hi,')
3
>>> f.write('I am lucy')
9
>>> f.close()
>>> f=open('D:\\file.py','r')
>>> f.read(3)
'Hi,'
>>> f.read()
'I am lucy'
调用f.write(string)时,提供的字符串会写入文件中已有内容的后面
使用完文件后,需要调用方法close
调用open时,可以不指定模式,默认模式就是‘r’
举例,