遇到问题解决问题python2

遇到了一个关于文件指针操作位置的问题,再解决这个问题之前先记录一些基础知识。

write(str):如果要写入字符串以外的数据,先将他转换成字符串

tell():返回一个整数,表示当前文件指针的位置(距离文件头的字节数)

seek(偏移量,[起始位置]):移动文件指针

偏移量:单位为字节,可正可负

起始位置:0是文件头,默认值;1是当前位置;2是文件尾

关于Python中的文件指针

读取文件内容时,并不能重复的读取,解释一下各指令中文件指针的变化

read():读取文件中从文件指针当前位置开始,长度为size的文件内容。读取完成后文件指针移动到读取到的最后一个字节处。

write(str):从文件指针当前位置开始,向文件中写入str中的内容。如对应位置有内容则直接覆盖,写入完成之后文件指针指向写入字符串在文件中的对应位置【即跟在字符串屁股后边】

seek(偏移量,[起始位置]):用来移动文件指针。偏移量:单位为字节,可正可负。起始位置:0-文件头,默认值;1-当前位置;2-文件尾。

因此可以解释下列代码中为什么要加fo.seek(0)才能print出来 唐诗宋词元曲

'''向文件中写入列表'''
fname = input("please input target file:")
fo = open(fname,"w+")
ls = ["唐诗","宋词","元曲"]
fo.writelines(ls)
fo.seek(0)
for line in fo:
    print(line)
fo.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值