Python 文件操作

EN
EN
2023-04-04 / 0 评论 / 98 阅读 / 正在检测是否收录...

读取文件

'''
1. 打开文件,并 返回文件的操作对象
f = open(r"文件名","访问方式(r/w/a)", encoding='utf-8')
                r 只读 默认,文件的指针将放在文件的开头
                w 写入 如果文件已存在将其覆盖、不存在则创建并写入
                a 追加 如果已经存在,会追加在后面,不存在则创建并写入
                r+ 读写
                w+ 读写,不存在则创建
                a+ 读写、追加。存在即追加在后面,不存在则创建
                ....
f对象的属性
f.closed 返回 True/False 文件是否被关闭
f.mode   返回文件打开的访问方式
f.name   返回文件的名称
'''
#f = open(r"D:\python\文件操作\1.txt") # 绝对路径
f = open(r"1.txt","r", encoding='utf-8')

'''
2.读取文件内容
'''
# text = f.read(10) # 读取前10个字节
text = f.read()     # 读取全部内容
print(text)
'''
3.关闭文件
'''
f.close()

写文件


f2 = open(r"2.txt","w", encoding='utf-8')
f2.write("写入文件3")
f2.close()

文件异常情况下 关闭文件

'''
无论IO操作是否报错,都要关闭文件
'''
try:
    f = open(r"1.txt", "r", encoding='utf-8')
    text = f.read()  # 读取全部内容
    print(text)

finally:
    f.close()

使用 with 操作文件

# with 作用通 try  finally
# with 上下文管理器

# 使用with 使用完文件后,会自动关闭
with open(r"1.txt", "r", encoding='utf-8') as f:
    print(f.read())

print(f.closed) #>>> True

print("------------------------")

# tell() 方法告诉你文件的当前位置,下一次从当前位置开始
# seek(offset,[.from]) 改变当前文件的位置 offset开始的偏移量,from指定开始移动字节的参考位置

f = open(r"2.txt", "r", encoding='utf-8')
text = f.read(10)  # 读取全部内容
print("当前文本:",text)
# 查找当前位置
pos = f.tell()
print("当前文件的位置:",pos)
pos = f.seek(0,0)
text2 = f.read(10)  # 读取全部内容
print("当前文本:",text2)

f.close()

使用readline、readlines读取文件

'''
f.readline() 按行读取
>>>
哈哈哈哈哈哈1
哈哈哈哈哈哈2
哈哈哈哈哈哈3
哈哈哈哈哈哈4
哈哈哈哈哈哈5
哈哈哈哈哈哈6
哈哈哈哈哈哈7
哈哈
'''
with open("3.txt","r",encoding="utf") as f:
    while True:
        # 读取一行
        text = f.readline()
        if not text:
            break
        print(text,end="")


'''
f.readlines() 返回一个列表。一次性读取完,每一行是一个元素
>>>
['哈哈哈哈哈哈1\n', '哈哈哈哈哈哈2\n', '哈哈哈哈哈哈3\n', '哈哈哈哈哈哈4\n', '哈哈哈哈哈哈5\n', '哈哈哈哈哈哈6\n', '哈哈哈哈哈哈7\n', '哈哈']
'''
with open("3.txt","r",encoding="utf") as f:
    text = f.readlines()
    print(text)
0

评论 (0)

取消