上一篇:Python2与3的一些注意要点(后期持续更新) 点击跳转
目录篇:python相关目录篇 点击跳转
下一篇:字符集问题 点击跳转
目录
f = open("yesterday",encoding="utf-8").read()
f = open("yesterday",'r',encoding="utf-8").read()
print(f) #获取到该程序的目录下的yesterday文件的内容
#"w":写模式,只可以写(覆盖),不可以读,不可以追加
f = open("yesterday2",'w',encoding="utf-8") #如果该程序的目录下没有该文件会自动创建
f.write("我爱天安门\n")
f = open("yesterday2",'a',encoding="utf-8")
f.write("我爱北京天安门........\n")
f = open("yesterday2",'r',encoding="utf-8")
for i in range(5):
print(f.readline()) #f.readline:只读1行,因为循环所以读5行
f = open("yesterday2",'r+',encoding="utf-8")
print(f.readline())
print(f.readline())
print(f.readline())
f.write("Burgess will rich")#写入的内容是追加到文件内容的最后
f = open("yesterday2",'a+',encoding="utf-8")
f.write("-----------diao----------\n")
print(f.tell())
f.seek(10)
print(f.readline())
print(f.readline())
f = open("yesterday2",'rb')
print(f.readline())
print(f.readline())
print(f.readline())
#二进制文件每行内容:开头是"b'" "内容和字符串没差别"结尾"\r\n"
#什么时候会用到,网络数据传输,FTP传输啊
#二进制文件如果用字符模式打开就可能损坏
f = open("yesterday2",'wb')
f.write("hello binary\n".encode())#.encode字符转二进制
f.close()#查看yesterday2该文件 已经写入
不能在w模式下使用,因为w模式是新建覆盖,所以哪怕指定截断位置也是清空
只能在a模式(追加
test.txt
aaa a aaa a aaa a aaa a
f = open("test.txt",'r',encoding="utf-8")#
print(f.tell()) #光标位置是0
print(f.readline()) #移动光标到第一行的行尾巴,并且打印第一行所有的字符: aaa a
print(f.tell()) #光标位置是7(回车符算2个光标,空格算一个光标)
print(f.readline(2)) #移动光标到第二行的字符2并且打印该行前面的字符 :aa
print(f.tell()) #光标位置是9
f.seek(0) #移动光标到0位置
print(f.tell()) #光标位置是0
f = open("yesterday2",'r',encoding="utf-8")
print(f.encoding)#查看该文件字符集
print(f.fileno())# 返回一个编号,操作系统专门有接口调用文件
print(f.name)#该文件的名
print(f.isatty())#判断该文件是否是终端设备tty文件
#.detach :编辑中改字符集(基本没用)
print(f.seek(10))#移动光标到10的位置
print(f.readable())#判断该文件是否可读
print(f.writable())#判断文件是否可写
print(f.close()) #文件关闭(不关闭就会一直在内存,非常浪资源)
f = open("yesterday2",'a',encoding="utf-8")
print(f.flush())#刷新内存缓存数据到硬盘(一般使用追加的模式,或者写入的模式使用
# 等达到你指定的大小数据,默认有些设置自动刷入硬盘,
#如果没自动就需要手动使用该.flush参数把数据刷入硬盘
#对于银行存钱数据重要的环境就需要确定数据是否到达硬盘
#所以需要客户每次写入的数据,就每次使用flush刷进硬盘,确保数据完
with语句(生产使用推荐)
为了避免打开文件后忘记关闭
import sys
#f = open("yesterday2","r",encoding="utf-8")
with open("yesterday2","r",encoding="utf-8") as f ,\
open("yesterday2", "r", encoding="utf-8") as f2:
for line in f:
print(line)
#with 相当于 执行了以下操作以后自动关闭文件
#如果需要同时打开多个文件(官方开发规范一行代码不应该超过80个字符)
硬盘源文件是不可以修改的,只会覆盖,
所以如何修改?
1.必须vim文件把内容加载到内存进行修改
2.打开另外一个文件然后修改完写到新的文件里(这样既保留了源文件,同时修改后的文件)
上一篇:Python2与3的一些注意要点(后期持续更新) 点击跳转
目录篇:python相关目录篇 点击跳转
下一篇:字符集问题 点击跳转