文件读取
f = open('D:/工作日常/学生空姐模特护士联系方式.txt', 'r', encoding=‘utf-8’)
f.read()
f.close()
解释
file='D:/工作日常/学生空姐模特护士联系方式.txt' 表示文件路径
mode='r' 表示只读(可以修改为其他)‘rb’表示以二进制的方式读取
encoding='utf-8' 表示将硬盘上的 0101010 按照utf-8的规则去“断句”,再将“断句”后的每一段0101010解码成unicode的 01010101,unicode对照表中有01010101和字符的对应关系。指定以utf-8的编码格式读取后解码成Unicode
f.read() 表示读取所有内容,内容是已经转换完毕的字符串。文件读取出来的内容是字符串类型
f.close() 表示关闭文件,文件操作完成一般都会关闭
文件写入
f = open('D:/工作日常/file.txt', 'w', 'encoding='utf-8')
f.write('此处有彩蛋')
f.close
解释
f = open('D:/工作日常/file.txt', 'w', 'encoding='utf-8') 表示文件路径
mode='w' 表示只写
encoding='utf-8' 将Unicode字符串编码成utf-8的格式
f.write('此处有彩蛋') 表示写入文件的内容,写入的内容是Unicode字符串,内部会将Unicode字符串编码encoding指定的格式
f.close
注意:
'wb"表示以二进制模式写,二进制模式操作不能加编码方式,否则报错
文件操作时以’wb‘或者’w‘模式打开时 ,则只能是写,并且打开的同时会将文件原来的内容清空。
写入到硬盘是时,必须是某种编码的01010101,打开时需要注意:
wb写入时需要传入某种编码的01010101,即字节类型
w和encoding,写入时需要传入Unicode字符串,内部会根据encoding指定的编码格式将Unicode字符串编码成改编码的01010101
追加
f = open('D:/工作日常/file.txt', 'a'. encoding='utf-8') 把内容追加到文件尾部
f.write('\n天天向上’)
f.close()
注意:
文件操作以‘a’或‘ab’模式打开,则只能追加,在原来内容的末尾追加内容
写入硬盘时,必须必须是某种编码的01010101,打开时注意:
‘ab’模式写入时直接传入某种编码的01010101
‘a’和encoding,写入时需要传入Unicode字符串,内部会根据encoding指定的编码格式将Unicode字符串编码成改编码的01010101
读写模式
f = open('D:/工作日常/file.txt', 'r+', encoding='gbk')
data = f.read() 需要先读取文件内容
print(data)
f.write('\n坚持不懈') 再将写入的内容追加到文件后面
f.close ()
写读模式
f = open('D:/工作日常/file.txt', 'w+', encoding='gbk')
data = f.read()
print(data)
f.write('\n追求梦想')
print('content', f.read())
f.close()
'w+'会把源文件内容清空后写入新的内容,相比'w'模式只是多了一个读功能,就是先写入后读取,没什么乱用。。
检测文件编码格式
import chardet 先导入chardet模块
f = open(''D:/工作日常/file.txt', 'rb') 模式为'rb'二进制
data = f.read()
f.close
result = chardet.detect(data)
print(result)
输出如下结果
{'encoding': 'utf-8', 'confidence': 0.99, 'language': ''}
说明此文件编码格式为utf-8,(confidence表示自信程度,99%为utf-8)