Python文件打开读取写入方法实用案例

作者:山山而川 时间:2023-08-23 21:19:51 

前言

读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。

读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。

python中对文件的操作方法经常使用open和with open。下面分别介绍

open()方法

正常情况下,想要打开一个文件并且保证该文件会被关闭。使用open()方法,最后一定要保证关闭文件对象,即调用close()方法。原因是当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘同时释放资源。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。语法格式如下

文件对象f = open(文件名,文件对象访问模式)

其中的文件对象访问模式如下

Python文件打开读取写入方法实用案例

1. "w",打开一个新的文件并写入内容

这里对象访问模式使用"w",打开文件时,文件存在则清空内容,不存在则创建新的

f = open('1.txt','w')
f.write('今天一直在下雨\n')
f.write('把我整抑郁了\n')
f.write('o(╥﹏╥)o\n')
f.close()

Python文件打开读取写入方法实用案例

2. "r",打开文件并读取内容

f = open("1.txt",'r')
print(f.read())        #读取全部内容
f.close()
f = open("1.txt",'r')  
print(f.readline())    #一个f.readline()只读第一行
f.close()
f = open("1.txt",'r')   #全部读,但是用列表的方式展示
print(f.readlines())
f.close()

Python文件打开读取写入方法实用案例

3. "a",以追加内容的模式打开

上面使用"w"的时候文件存在则会清除内容,如果我们想要打开一个已经存在内容的文件并追加内容则可以使用"a"。如下打开存在的"1.txt"文件,并追加一行内容

f = open('1.txt','a')
f.write("帅哥出来玩吗")
f.close()

Python文件打开读取写入方法实用案例

4. 创建一个空的文件

open("12.txt",'w').close()

with open()方法

open()使用后需要调用f.close()方法,但是每次都这么写实在太繁琐,所以,Python引入了with语句来自动帮我们调用close()方法。推荐使用with open()

with用于创建一个临时的运行环境,运行环境中的代码执行完后自动安全退出环境。

1. 打开并读取文件,每次读取一行内容

方法一:

with open('1.txt','r') as file:    
   for line in file:     #依次遍历
       #print(line)      #默认输出的内容会多一个换行
       print(line[:-1])

Python文件打开读取写入方法实用案例

将网页的数据进行保存时有时需要指定编码类型,比如为utf-8。不确定可以查看网页源码的编码类型,这里保存和网页编码类型一样就行

with open('./2.html','w',encoding='utf-8') as f:

方法二:

直接使用循环也可以

for line in open("1.txt",'r'): print(line[:-1])

Python文件打开读取写入方法实用案例

2. 打开并写入文件

with open('2.txt','a') as file:
   file.write("hello\n")
   file.write("are you ok?\n")

Python文件打开读取写入方法实用案例

实用案例

需求

打开文件1.txt,1.txt的内容为一行行的ip地址。每次从里面读取一行数据加上"http://",然后将其保存到另外一个新的文件中

for ip in open("1.txt",'r'):
   url = "http://" + ip
   with open("url.txt",'a',,encoding="utf-8") as f: #这里必须以追加的模式打开,不然每次新增内容前都会清空
       f.write(url)
print('ok')

Python文件打开读取写入方法实用案例

来源:https://blog.csdn.net/qq_44159028/article/details/120388405

标签:python,文件,读写
0
投稿

猜你喜欢

  • Go语言defer的一些神奇规则示例详解

    2023-10-18 05:03:01
  • MySQL 线上日志库迁移实例

    2024-01-25 12:40:22
  • 基于np.arange与np.linspace细微区别(数据溢出问题)

    2021-08-29 23:46:25
  • php中让上传的文件大小在上传前就受限制的两种解决方法

    2023-10-25 17:53:12
  • Springboot使用influxDB时序数据库的实现

    2024-01-18 13:42:10
  • 并行查询让SQL Server加速运行

    2009-03-16 16:31:00
  • MySQL中查看数据库安装路径的方法

    2024-01-16 04:19:46
  • location.href 在IE6中不跳转的解决方法与推荐使用代码

    2024-04-19 10:13:38
  • 设置MySQL中的数据类型来优化运行速度的实例

    2024-01-25 07:40:04
  • ubuntu系统下使用pm2设置nodejs开机自启动的方法

    2023-10-02 22:23:16
  • 浅谈一下关于Python对XML的解析

    2023-08-15 21:33:36
  • python中.format()方法使用详解

    2021-07-19 03:38:07
  • win10安装tensorflow-gpu1.8.0详细完整步骤

    2023-01-22 08:44:33
  • linux下perl操作mysql数据库(需要安装DBI)

    2024-01-15 09:32:50
  • 10种检测Python程序运行时间、CPU和内存占用的方法

    2023-08-04 16:28:14
  • caffe的python接口绘制loss和accuracy曲线

    2021-06-15 23:54:21
  • Python按天实现生成时间范围序列的方法详解

    2022-12-31 13:48:45
  • java如何用正则表达式匹配与提取字符串

    2023-03-13 07:47:13
  • vue实现某元素吸顶或固定位置显示(监听滚动事件)

    2024-05-09 15:15:10
  • Python第三方包PrettyTable安装及用法解析

    2023-02-22 03:19:16
  • asp之家 网络编程 m.aspxhome.com