python的open函数路径_Python open()函数用法详解

一、文件操作的流程:

#1. 打开文件,得到文件句柄并赋值给一个变量#2. 通过句柄对文件进行操作#3. 关闭文件

具体步骤如下:

f=open('test.txt',encoding='utf-8') #打开文件

data=f.read() #文件操作

print(data)

f.close()#关闭文件

二、open()函数的具体用法:

open函数最常用的使用方法如下:文件句柄 = open('文件路径', '模式',编码方式)。

1、关于文件路径

#文件路径:主要有两种,一种是使用相对路径,想上面的例子就是使用相对路径。#另外一种就是绝对路径,像' C:/Users/shu/Desktop/python/test.txt'

2、关于打开模式:

#r 以只读方式打开文件。这是默认模式。文件必须存在,不存在抛出错误#rb 以二进制格式打开一个文件用于只读。#r+ 打开一个文件用于读写。文件指针将会放在文件的开头。读完就追加。#w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。#w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。#a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。#a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

注:后面有带b的方式,不需要考虑编码方式。有带+号的,则可读可写,不过它们之间还是有区别的

下面附上各种方法的代码,便于更深刻理解各种模式:

ContractedBlock.gif

ExpandedBlockStart.gif

#原来文件内容是:

自恐多情损梵行,入山又怕误倾城.世间安得双全法,不负如来不负卿.1.只读模式r:

f=open('test.txt','r')

data=f.read()print(data) #自恐多情损梵行,入山又怕误倾城.世间安得双全法,不负如来不负卿.

f.close()2.只写模式,w (存在会覆盖原来内容)

f=open('test.txt','w')

f.write('作者:仓央嘉措')

f.close()#写完后原来的内容全都不见了,只剩下'作者:仓央嘉措'.

3、追加模式,a

f=open('test.txt','a')

f.write('作者:仓央嘉措')

f.close()#写完内容如下:自恐多情损梵行,入山又怕误倾城.世间安得双全法,不负如来不负卿.作者:仓央嘉措

4、以r+模式打开

f=open('test.txt','r+')

f.write('作者:仓央嘉措')print(f.read()) #输出为" ,入山又怕误倾城.世间安得双全法,不负如来不负卿."

f.close()#写完内容为 “ 作者:仓央嘉措,入山又怕误倾城.世间安得双全法,不负如来不负卿.”#为什么输出和写完内容会这样呢? 解释这个只要知道紧跟光标的位置就可以明白了。

首先,以r方式打开光标都会在最开始的位置,这时候执行f.write('作者:仓央嘉措') ,这时候就把原来的‘自恐多情损梵行’覆盖了。这时候光标移动到','之前,

紧接着进行print(f.read())。就会把后面剩下的文本内容打印出来。所以输出就是:",入山又怕误倾城.世间安得双全法,不负如来不负卿."整个程序完成后,

整个文本内容就成了;“ 作者:仓央嘉措,入山又怕误倾城.世间安得双全法,不负如来不负卿.”(光标!!)

View Code

3、关于编码方式:

#1.win系统默认是gbk编码的,所以桌面生成的TXT之类的都是gbk编码的。#2.出现乱码正常都是原文件的编码方式和打开指定的编码不一致所致

三、关闭文件:

不要小看这一步,因为我们读取文件是把文科读取到内存中的,如果我们没关闭它,它就会一直占用系统资源,而且还可能导致其他不安全隐患。还有一种方法可以让我们不用去特意关注关闭文件。那就是 with open()

with open('test.txt','a+') as f:

f.write('作者:仓央嘉措')print(f.read())

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,open函数是一个内置函数,用于打开文件并进行读写操作。它的基本用法是:open(file, mode, buffering, encoding, errors, newline, closefd, opener)。其中,file参数是要打开的文件名,mode参数是打开文件的模式,buffering参数是缓冲大小,encoding参数是文件的编码方式,errors参数是处理编码错误的方式,newline参数是换行符的处理方式,closefd参数是是否关闭底层文件描述符,opener参数是自定义的打开器。打开文件后,可以进行相应的读写操作,最后需要使用my_file.close()来释放文件资源。\[1\] 如果想要更深入地了解open函数的使用,可以参考下一节的内容。同时,也可以访问博客地址:https://blog.csdn.net/LaoYuanPython,获取更多关于Python的学习资源和支持。\[2\] #### 引用[.reference_title] - *1* [Python open函数详解](https://blog.csdn.net/weixin_44449116/article/details/122799242)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [第9.1节 Python的文件打开函数open简介](https://blog.csdn.net/LaoYuanPython/article/details/97173235)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Python Open函数详解](https://blog.csdn.net/totorobig/article/details/127430672)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值