码迷,mamicode.com
首页 > 编程语言 > 详细

分享Python知识的第十天

时间:2019-10-27 20:54:16      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:open   注意   行操作   word   class   strong   不一致   其他   移动   

Python文件操作

1.常规格式

f = open(file="文件所在路径/文件名",mode="操作模式",encoding="选择的编码")
# 例如
f = open(file="D:/Python_pro/s_27/day05/test.py",mode="r",encoding="utf-8")
# 简写
f = open("D:/Python_pro/s_27/day05/test.py","r",encoding="utf-8")
注意:文件路径会出现转义现象
可以修改为
f = open("D:\\Python_pro\\s_27/day05\\test.py","r",encoding="utf-8")
或者
f = open(r"D:\Python_pro\s_27/day05\test.py","r",encoding="utf-8")
建议使用
f = open("D:/Python_pro/s_27/day05/test.py","r",encoding="utf-8")

2.文件操作的三部曲

  1. 打开文件
  2. 对文件进行操作
  3. 关闭文件
# 三步格式
f = open(file="文件所在路径/文件名",mode="操作模式",encoding="选择的编码")
f.read() 或 f.readline() 或 f.readlines() 或 f.write() 或 f.seek() 或 f.tell()
f.close()

自己有时候会忘记关闭文件,所以想要让其自动关闭因此可以写成如下的格式

# 自动关闭文件
可以同时打开多个文件
with open("ddd.txt","r",encoding="utf-8")as f,    open("aaa.txt","r",encoding="utf-8")as f1:
    print(f.read())
    print(f1.read())

3.文件的操作模式与方法

# 读
mode = "r"  # 只读
mode = "r+" # 读写
mode = "rb" # 读字节
f.read() #一次性读全部,容易造成内存溢出
f.readline() #一行一行的读
f.readlines() #一行一行的读并把结果加入列表
---------------------------------------------
# 写
mode = "w" # 清空写
mode = "w+" # 写读
mode = "a" # 追加写
mode = "a+" # 追加写读
mode = "wb"或"ab" #写字节 
f.write() # 将字符串写入文件
---------------------------------------------
# 其他操作
f.seek()  #移动光标
f.seek(0,0)    # 将光标移动文件开头
f.seek(0,1)    # 将光标移动到当前位置
f.seek(0,2)    # 将光标移动文件末尾
f.seek(3)        # 按照字节移动
# 查看光标位置
f.tell()  # 按照字节查看,返回的是字节

4.文件操作常见错误

1.运行的文件和要打开的文件不是同一个文件夹下   通过路径
2.要打开的文件名和open里的名字不一致
3.使用word,记事本等软件造成的未知错误         不建议使用这种方式创建文件

5.文件内容的修改与备份示例

with open("原文件.txt","r",encoding="utf-8") as f,         open("新建文件.txt","w",encoding="utf-8") as f1:
    for line in f:
        new_i = line.replace("要修改的旧内容","修改的新内容")
        f1.write(new_i)
print("修改完成")
import os
os.rename("原文件.txt", "备份文件.txt")
os.rename("新建文件.txt", "原文件.txt")

分享Python知识的第十天

标签:open   注意   行操作   word   class   strong   不一致   其他   移动   

原文地址:https://www.cnblogs.com/tianming66/p/11748637.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!