python基础八之文件操作

python的文件操作

  1,打开文件

  编码方式要和文件的编码方式相同!

#open('路径','打开方式','指定编码方式')
f = open(r'E:pycharm学习day8	est', mode='r', encoding='utf-8')

    打开方式:

    只读 r

with open('test', mode='r', encoding='utf-8') as f:
    print(f.read())

    只写 w

with open('test', mode='w', encoding='utf-8') as f:
    f.write('举头望明月,低头思故乡。')      # test文件不存在则新建  存在则删除原文件的内容后添加新的

    追加 a

with open('test', mode='a', encoding='utf-8') as f:
    f.write('举头望明月,低头思故乡。')     # test文件不存在则新建 存在则在原文件内容的后面添加

    读写 r+

with open('test', mode='r+', encoding='utf-8') as f:
    print(f.read())
    f.write('海上生明月,天涯共此时。')   # 先读后写 写的添加到后面
with open('test', mode='r+', encoding='utf-8') as f:
    f.write('海上生明月,天涯共此时。')
    print(f.read())     # 先写后读 写的从头开始逐一覆盖添加

    写读 w+

with open('test', mode='w+', encoding='utf-8') as f:
    f.write('举头望明月,低头思故乡。')
    print(f.read())               # 相当于先w清空写好内容后光标在最后索引r没有任何内容
with open('test', mode='w+', encoding='utf-8') as f:
    print(f.read())
    f.write('举头望明月,低头思故乡。')  # 相当于先w清空 所以读的内容为空 然后再写入新的内容

  2,操作文件

    读文件

with open('test', mode='r', encoding='utf-8') as f:
    print(f.read())   # 一次性读取全部内容
with open('test', mode='r', encoding='utf-8') as f:
    print(f.readline())     # 一行一行读取
with open('test', mode='r', encoding='utf-8') as f:
    print(f.readlines())   # 一次性读取全部,转换为列表,元素是每行的内容

    写文件

with open('test', mode='w', encoding='utf-8') as f:
    f.write('举头望明月,低头思故乡。')      # test文件不存在则新建  存在则删除原文件的内容后添加新的

    其他的操作方式

# 定义读取的字符个数
with open('test', mode='r', encoding='utf-8') as f:
    print(f.read(2))  # 负数获取全部 0为空
# 移动指针位置
with open('test', mode='r', encoding='utf-8') as f:
    f.seek(3)     # 移动是按字节数
    # f.seek(2)   # utf-8一个中文字符三个字节表示 所以2个字节找不到报错
    print(f.read())
# 获取字符指针的位置
with open('test', mode='r', encoding='utf-8') as f:
    f.read()          # 将文件读完 指针移动到结尾
    print(f.tell())   # tell()返回指针位置
# 截取指定长度的字符  截取是按字节数
with open('test', mode='r+', encoding='utf-8') as f:
    f.truncate(9)   # 截取前9个字节,英文就是前九个 ,中文是前三个

  3,关闭文件

    一般在操作完成后加close()来完成关闭文件。(容易忘记!)

f = open(r'E:pycharm学习day8	est', mode='r', encoding='utf-8')
content = f.read()
print(content)
f.close()   # 关闭

     另外一种方式可以有效的避免忘记写close()。

# 通过with ... as来进行文件处理,最后会自动关闭文件
with open('test', mode='r', encoding='utf-8') as f:
    print(f.read())

    

  

原文地址:https://www.cnblogs.com/zxc-Weblog/p/8119277.html