Python-1文件基本操作

"""
coding:utf-8
@Software:PyCharm
@Time:2023/4/6 16:59
@author:Panda
"""


# 文件基础3步骤:打开文件,写入或读文件,关闭文件,文件打开必定要关闭(close())
"""
data = '好的'
data_str = 'abc'
res = data_str.encode('utf-8')
print(res)
# Output: b'abc'
dat = b'\xe5\xa5\xbd'.decode()
print(dat)
# Output: 好

fp = open('./ce.png', mode='rb')
res = fp.read()
fp.close()
print(len(res))
# Output: 3475

with open('xx.png', mode='wb') as f:
    f.write(res)
"""


# 文件操作3个扩展模式
"""
read() :读取字符个数,从左往右读,默认在末尾处
seek() :调整文件指针的位置
    seek(0) : 指针(光标)移动到0字节的位置(也就是开头的位置)
    seek(0, 2) : 指针(光标)移动到末尾的位置
tell() : 返回光标左边的字节数
"""
# 1. r+先读后写
"""
fp = open('test1.txt', 'r+')  # 原内容是 good afternoon
res = fp.read()
fp.write('hello')
print(fp.read())
# Output:空字符串  因为read()默认光标在结尾
fp.seek(0)
print(fp.read())
fp.close()
# Output:good afternoon hello   因为seek()将光标设置为了开头
"""


# 2. r+ 先写后读
"""
fp = open('test1.txt', 'r+')  # 原内容是 good afternoon hello
# 在r模式下 需要把光标移动到最后,不然原字符会被覆盖
fp.seek(0, 2)
fp.write(' permanent')
fp.seek(0)
print(fp.read())
# Output:good afternoon hello permanent
fp.close()
"""

# 3.w+ 可读可写 清空重写(有文件清空写,没有文件创建文件写)
"""
fp = open('test1.txt', 'w+')  # 原内容是 good afternoon hello
fp.write('i love xye')
fp.seek(0)
print(fp.read())
fp.close()
"""
# 4.a+ 可读可写 追加写(有文件追加写,没有文件创建文件写)encoding字节编码默认为utf-8
'''"""
a+的模式中 会强行把光标放在文件的末尾进行追加写入
r+基于光标在当前指定位置写入会覆盖
"""
fp = open('test1.txt', 'a+', encoding='utf-8')  # 原内容是 i love xye
fp.write(' permanent')
fp.seek(0)
print(fp.read())
fp.close()'''

# 5.在文件操作光标的时候,一般情况下的,seek通常用法只用2个。
# seek(0) seek(0, 2) 因为如果编码是中文字符的情况会导致编码字节无法解析报错

# 6.在文件操作中, 直接用open 一定的操作需要close()关闭文件释放资源内存
# 用with 打开则不需要手动关闭
# with open('test1.txt', 'a+') as f:
#     f.write('permanent my mine my heart')
#     f.seek(0)
#     print(f.read())


# f.readline():单行读取
# f.readlines():将文件全部读取

 

posted @ 2023-04-07 17:02  许个未来—  阅读(18)  评论(0编辑  收藏  举报