python文件操作的简单方法总结

yipeiwu_com5年前Python基础

文件操作1

#文件操作流程:1、打开文件,得到一个文件句柄;通过文件句柄操作文件;关闭文件。
#将文件打开文件赋给file1,test_file为文件名,utf-8为文件编码;file1是文件的全量内容
data1 = open("test_file",encoding="utf-8").read()
print(data1)
#打开文件,获取文件句柄file2,后续通过file2这个文件句柄对文件进行各种操作方法,默认文件以只读模式打开,只读时不能对文件进行写操作
file2 = open("test_file","r",encoding="utf-8")
#一次将文件内容全部读取
date2 = file2.read()
#"w"是以写模式打开文件,此模式会先清空文件内容,此时不能对文件进行读操作
file3 = open("test_file3","w",encoding="utf-8")
file3.write("file3 文件写\n")
#"a"是文件追加写模式,此时从文件末尾追加往后面写
file4 = open("test_file","a",encoding="utf-8")
file4.write("file4 文件追加写")
#逐行读文件,readline()或直接对文件句柄进行迭代
file5 = open("test_file","r",encoding="utf-8")
for i in range(5):
  print(file5.readline())
#下面将文件句柄直接进行迭代,文件句柄也是迭代器
for line in file5:
  print(line)

文件操作2

#返回当前文件操作的位置信息,返回的是字符的数量
print(file5.tell())
#手工移动文件操作的当前位置,位置信息为seek的实参
file5.seek(10)
#输出文件当前编码,即打开时使用的编码
print(file5.encoding)
#输出文件名称
print(file5.name)
#判断文件是否可读,返回布尔类型,与文件打开时指定的打开模式相关
print(file5.readable())
#判断文件是否可写,返回布尔类型,与文件打开时指定的打开模式相关
print(file5.writable())
#将文件写的内容强制刷到硬盘
file5.flush()
#判断文件是否关闭,返回布尔类型
print(file5.closed)
#默认清空文件内容,传递实参的话就是从文件开头截断多少字符,总是从文件开头开始截断,不论当前文件读写所处的位置
#file5.truncate()
#文件读写模式“r+”,读是从文件开头读,写是从文件末尾往后写,操作文件位置指针是读的位置,只能继续往文件后面追加写
#文件写读模式“w+”,先创建新文件然后写,写了以后可以读。操作文件位置指针是读的位置,只能继续往文件后面追加写
#以二进制读取文件“rb”,打开文件时没有encoding这个参数
file6 = open("binary_file","wb")
#二进制模式打开文件向写入时需要将字符串转换为二进制,否则写报错
file6.write("binary file".encode(encoding="utf-8"))
#文件的修改
#方法1将文件一次全部读取在使用replace,将这个文件修改后的值返回,不修改原文件
data4 = open("test_file4",encoding="utf-8").read()
print(data4.replace("789","7788991010",2))
print(data4)
#方法2逐行读取做判断,写入到一个新文件
file7 = open("test_file4","r",encoding="utf-8")
file8 = open("test_file4_new","w",encoding="utf-8")
for line in file7:
  if "789" in line:
    line = line.replace("789","7788991010")
  file8.write(line)
file7.close()
file8.close()

知识点扩展:

print("->文件句柄的获取,读操作:")
 
f = open('无题','r',encoding='utf8')
d = f.read()
f.close()
print(d)
 
print('->例二:')
f = open('无题','r',encoding='utf8')
e = f.read(9)
f.close()
print(e)
#python3中,文件中一个中英文都占位1

运行结果:

复制代码

->文件句柄的获取,读操作:
昨夜星辰昨夜风
画楼西畔桂堂东
身无彩凤双飞翼
心有灵犀一点通
->例二:
昨夜星辰昨夜风
画

以上方法很简单,感谢大家的学习和对【听图阁-专注于Python设计】的支持。

相关文章

python调用shell的方法

1.1  os.system(command)在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态。这实际上是使用C标准库函数system(...

Python实现KNN(K-近邻)算法的示例代码

Python实现KNN(K-近邻)算法的示例代码

一、概述 KNN(K-最近邻)算法是相对比较简单的机器学习算法之一,它主要用于对事物进行分类。用比较官方的话来说就是:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近...

Python 实现选择排序的算法步骤

选择排序算法步骤: 找到数组中最小的那个元素中, 将它和数组的第一个元素交换位置, 在剩下的元素中找到最小的元素,将它和数组的第二个元素交换位置, 如此往复,知道将整个数组排序。 逐步分...

详解js文件通过python访问数据库方法

详解js文件通过python访问数据库方法

我来教你 js文件怎么通过python访问数据库,希望能够为你带来帮助。 1、如果是要提交表单内容给 服务器的 python 处理,那么只需要在表单 <form> 里面的 a...

python异常处理和日志处理方式

今天,总结一下最近编程使用的python异常处理和日志处理的感受,其实异常处理是程序编写时非常重要的一块,但是我一开始学的语言是C++,这门语言中没有强制要求使用try...catch语...