python文件操作

只谈情不闲聊 提交于 2020-02-13 03:06:06

在文本模式下读取时,默认会把平台特定的行结束符 (Unix 上的 \n, Windows 上的 \r\n) 转换为 \n。在文本模式下写入时,默认会把出现的 \n 转换回平台特定的结束符。这样在幕后修改文件数据对文本文件来说没有问题,但是会破坏二进制数据例如 JPEG 或 EXE 文件中的数据。请一定要注意在读写此类文件时应使用二进制模式。

open( 文件名路径 , 打开方式 ) 打开文件

通常使用和 with as 语法一起使用
with open(’/home/myfile’,‘a/w/r’) as f1:
f1.read() #读取文件的全部数据
f1.readline() # 读取文件的一行数据

a/w/r+ b 等于 按照二进制打开
二进制打开可以保护文件格式不被改变,对于文本文件通常没有必要
但是会破坏二进制数据例如 JPEG 或 EXE 文件中的数据。请一定要注意在读写此类文件时应使用二进制模式。

其中 w 打开文件会截断

f1.close() 手动关闭文件

f.write(string) 会把 string 的内容写入到文件中,并返回写入的字符数。:

#写入文件
with open('file1','w+') as f1:
    for i in range(5):
        f1.write('第 {:_^10} 行内容\n'.format(i))

#读取文件
#要从文件中读取行,你可以循环遍历文件对象。这是内存高效,快速的,并简化代码:
with open('file1','r+') as f1:
    for line1 in f1:
        print(line1.decode(),end='')
        
第 ____0_____ 行内容
第 ____1_____ 行内容
第 ____2_____ 行内容
第 ____3_____ 行内容
第 ____4_____ 行内容
#按照二进制读取
with open('file1','rb+') as f1:

#按照字符串读取
with open('file1','r+') as f1:
#str to bytes
str_to_bytes = str1.encode(encoding='utf8')  
# bytes to str    不指定编码方式的时候,默认按照  utf8 进行编码解码
bytes_to_str = bytes1.decode()
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!