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

 更新时间:2019年11月07日 08:09:56   作者:flag_hw  
在本篇文章里小编给大家整理的是关于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中adb有什么功能

    python中adb有什么功能

    在本篇文章里小编给大家分享的是关于python中adb有功能的知识点总结,有需要的可以跟着学习下。
    2020-06-06
  • Python中下划线的使用方法

    Python中下划线的使用方法

    这篇文章主要介绍了Python中下划线的使用方法,是为python编程学习中的基本知识,需要的朋友可以参考下
    2015-03-03
  • 利用Seaborn绘制20个精美的pairplot图

    利用Seaborn绘制20个精美的pairplot图

    本文记录的使用seaborn绘制pairplot图,主要是用来显示两两变量之间的关系(线性或非线性,有无较为明显的相关关系等),感兴趣的可以了解一下
    2022-07-07
  • Python数据结构之栈、队列及二叉树定义与用法浅析

    Python数据结构之栈、队列及二叉树定义与用法浅析

    这篇文章主要介绍了Python数据结构之栈、队列及二叉树定义与用法,结合具体实例形式分析了Python数据结构中栈、队列及二叉树的定义与使用相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • Python爬虫简单运用爬取代理IP的实现

    Python爬虫简单运用爬取代理IP的实现

    这篇文章主要介绍了Python爬虫简单运用爬取代理IP的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python绘图之turtle库的基础语法使用

    Python绘图之turtle库的基础语法使用

    这篇文章主要给大家介绍了关于Python绘图之turtle库的基础语法使用的相关资料, Turtle库是Python语言中一个很流行的绘制图像的函数库,再绘图的时候经常需要用到的一个库需要的朋友可以参考下
    2021-06-06
  • Keras:Unet网络实现多类语义分割方式

    Keras:Unet网络实现多类语义分割方式

    本文主要利用U-Net网络结构实现了多类的语义分割,并展示了部分测试效果,希望对你有用!
    2020-06-06
  • Python如何快速下载依赖

    Python如何快速下载依赖

    本文介绍了四种在Python中快速下载依赖的方法,包括使用国内镜像源、开启pip并发下载功能、使用pipreqs批量下载项目依赖以及使用conda管理依赖,通过这些方法,可以有效提升Python项目的依赖下载速度
    2025-03-03
  • OpenCV学习之图像梯度算子详解

    OpenCV学习之图像梯度算子详解

    这篇文章主要为大家详细介绍了OpenCV中图像梯度算子的各种操作,例如Sobel算子、Scharr算子和laplacian算子等操作,感兴趣的可以了解一下
    2023-02-02
  • Python实战之OpenCV实现猫脸检测

    Python实战之OpenCV实现猫脸检测

    今天给大家带来的是关于Python的相关知识,文章围绕着OpenCV实现猫脸检测展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06

最新评论