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()
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