Python3学习笔记03-读写文件

1. 读取一个文本文件,可以用下述方式:

myfile=open(r'abc.txt')
x=myfile.read()
print(x)

也可以用下述方式:

with open('abc.txt') as f:
    for line in f:
        print(line.strip())

    with的作用是让Python自动在文件操作完毕后关闭文件。也可以用close()主动关闭。strip的作用是去除读取产生的空行。

2. 写文件

下面代码在文件末尾追加写入:

with open('abc.txt') as f:
    for line in f:
        print(line.strip())
其中参数'a'表示append,追加;如果改为'w',则变为写入(覆盖),无此文件时则创建。其他还有'r+', 'w+', 'rb', 'wb'等,对应于读写、写读、二进制读,二进制写。

其中,文件路径尽量不要出现中文;直接写文件名abc.txt或xxxx/abc.txt表示在程序目录中或其子目录xxx中打开文件。也可写上绝对路径,一般用斜杠即可,用反斜杠时因为反斜杠有时用于转义,所以会出现意外结果,如文件名以n开头,\n就成了换行的意思了。也可以在字符串前加r表示使用原生字符串,如r'abc.txt'。

3. 读写二进制文件

Python提供了一个标准模块pickle用以存取任意对象,很实用,例如:

myfile=open('abc.bin','wb')
myfile.write(b'abcd\nefg')
myfile.close()

myfile=open('abc.bin','r')
x=myfile.read()
print(x)   #分两行打印出abcd和efg
myfile.close()

myfile=open('abc.bin','rb')
x=myfile.read()
print(x)  #打印出b'abcd\nefg'
myfile.close()

4. 文件序列化(二进制)

users=[]
users.append({'id':'richard','pwd':'abc'})
users.append({'id':'vivian','pwd':'bac'})
users.append({'id':'david','pwd':'cab'})
print('这是输入的数据:\n',users)
myfile=open('mydata.bin','wb')
import pickle
pickle.dump(users,myfile)
myfile.close()

print('数据已经写入文件。')

myfile=open('mydata.bin','rb')
x=pickle.load(myfile)
print('这是从文件中读出的数据:\n',x)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值