常用操作
字符文件本质上还是用二进制方式写出,只是他多了一步查找字符的二进制值的过程。比如:9用二进制写出就是0b1001,utf-8的'9‘写出就是要先在utf-8码表中找'9'对应的二进制0b111001,然后再写出。
写
if not os.path.exists("New Folder"): os.mkdir("New Folder") f1 = open("New Folder/text.txt", "w", encoding="utf-8") print(f1.name) # New Folder/text.txt print(f1.closed) # False print(f1.mode) # w print(f1.readable()) # False print(f1.writable()) # True print(f1.seekable()) # True f1.write("abc中文ABC\ndef文本DEF") f1.close()
读
f1 = open("New Folder/text.txt", "r", encoding="utf-8") # win10下, 默认GBK, 不指定编码, 读的时候会抛异常 print(f1.name) # New Folder/text.txt print(f1.closed) # False print(f1.mode) # r print(f1.readable()) # True print(f1.writable()) # False print(f1.seekable()) # True print(f1.tell()) # 0 # 读字符 print(f1.read(3)) # abc print(f1.read(1)) # 中 # 读到换行符为止 print(f1.readline()) # 文ABC\n print(f1.seek(0, 0)) # 0, 游标移到文件开头 print(f1.read()) # 全部都读出来 f1.close()
自动close方式的打开文件
with open("New Folder/text.txt", "r", encoding="utf-8") as f1: # do something ... # f1.close() # 不再需要我们手动调用close
读游标操作
with open("New Folder/text.txt", "r", encoding="utf-8") as f1: # 刚打开文件时的读取位置 print(f1.tell()) # 0 f1.read(3) # 读取3个字符后的位置 print(f1.tell()) # 3 f1.read(1) # 读取一个中文字符后的读取位置 print(f1.tell()) # 6 # 读位置游标移到文件开头 print(f1.seek(0, 0)) # 0 print(f1.tell()) # 0 print(f1.seek(0, 2)) # 26 print(f1.tell()) # 26
标签:f1,入门,Python,text,读写,print,New,Folder,txt From: https://www.cnblogs.com/sailJs/p/17571276.html