Python -- 文件操作

文件操作

f = open("文件路径", mode = "模式", encoding = "编码类型")

模式 r w a / rb wb ab / r+ w+ a+ / r+b w+b a+b

操作文件: 1. 打开文件 2. 操作文件 3. 关闭文件

文件路径:

  • 绝对路径

    1. 从磁盘的根目录寻找.
    2. 网络的路径
  • 相对路径: 相对于当前你这个程序所在的文件夹(用的最多)

    f = open("../../",mode = "r", encoding = "编码") ../ 返回上个文件

# 读  r    文件全部读取完以后,再次读取就没有内容
read()  # 全部读取
read(2) # 通过字符来读取
readline() # 读取一行
readlines()  # 一行一行的读取存放在列表中
# 写 w
1.先判断有没有文件存在,文件存在清空文件,文件不存在创建文件
2.写入内容
# 追加写 a
在文件的末尾添加

import os
print(os.geicwd())  #查看当前工作路径

for i in f:   #迭代读取
    print(i)
# 读写非文本   读取的内容是字节
# rb  不能指定编码
# wb  ab  不能指定编码

import requests
ret = requests.get("图片地址")
f = open("图片名",mode="wb")
f.write(ret.content)
f.close()
# r+ 读写       
f = open("day8",mode="r+",encoding="utf-8")
print(f.read())
f.write("脑瓜疼啊脑瓜疼")

# w+ 写读
f = open("day8",mode="w+",encoding="utf-8")
f.write("你您你你")
print(f.read())

# a+ 追加写读
f = open("a",mode="a+",encoding="gbk")
print(f.tell())  # 查看的是字节
f.seek(0)
print(f.read(1)) # 字符
# 其他操作
tell  查看光标  -- 返回光标的按当前位置 (按字节)

# seek 移动光标
seek(0,0)  # 移动光标到文件的开始位置
seek(0,1)  # 光标的当前位置
seek(0,2)  # 移动光标到文件的末尾位置
seek(3)    # 按照字节移动,从头开始
# 另一个打开文件的方式:
with open("文件路径",mode="操作文件的方式",encoding="编码") as f: # 面向对象中上下文管理
1. 可以自动关闭文件
2. 可以同时打开多个文件
3. 可以同时操作多个文件

with open("day8",mode="r",encoding="utf-8") as f,\
	open("a",mode="w",encoding="gbk") as f1:
	print(f.read())
	f1.write("真饿!")
# 修改文件
with open("原文件") as f, open("新文件") as f1:
    f.for循环读取
    f1.for循环写入
    
import os
os.remove("文件名")   #  删除文件
os.rename("原文件名字","备份名")   #对文件进行备份
os.rename("新文件名字","原文件名字")   #把新文件改成原文件的名字
import os
with oepn() as f1, open() as f2:  # 打开两个文件
	for line in f1:       # 循环读取文件f1
		new_line = line.replace()  # 替换文件的内容
		f2.write(new_line)    # 将替换后的内容写入新文件
os.remove("原文件")
os.rename("新文件名", "旧文件名")
posted on 2019-06-17 19:09  ShenQiang  阅读(130)  评论(0编辑  收藏  举报