当前位置: 首页 > 编程笔记 >

浅析使用Python操作文件

翟源
2023-03-14
本文向大家介绍浅析使用Python操作文件,包括了浅析使用Python操作文件的使用技巧和注意事项,需要的朋友参考一下

1. file=open('xxx.txt', encoding='utf-8'),open()函数是Python内置的用于对文件的读写操作,返回的是文件的流对象(而不是文件本身,所以使用的方法都是流对象的方法)。使用这个函数时html" target="_blank">推荐指定encoding参数(Python2.7.x中好像不支持),因为Python代码在不同的平台环境中使用的默认编码方式不同,有可能会发生编译出错的问题。

2. 在open中的第一个文件名的的参数中,包含的路径表示虽然可以根据不同的环境使用斜杠和反斜杠,但在Python中表路径时,斜杠都是正确的。

3. file(流对象,open的默认模式下的返回值)的一些方法,使用for循环对file进行迭代时,每次迭代都会自动分离出一行(效果相当于对readlines结果的for循环遍历):
•file.name:获取文件的文件名(包含路径),即传入open文件名参数;
•file.encoding:获取文件的编码方式;
•file.mode:获取文件的访问方式,若没有指定这个参数,open的默认访问方式为只读“r”;
•file.closed:返回文件是否关闭的状态;
•file.close():关闭文件(使用完一定及时使用这个函数关闭文件);
•file.read():从当前定位(一般就是文件开始处)获取文件内容,返回整个文件内容的字符串(此时定位在文件尾,若再使用read()方法,会返回空字符串,因为已经到文件尾了),若指定了需要获取的 字符 数(可以给read方法传入参数,比如:read(3)表示从当前定位往后读取3个字符),则返回指定字符数的字符串。注意不能从一个字符的中间字节处读取,因为有的字符(比如中文)的表示不止一个字节,而定位是以字节来计算位置的,read()是以字符来计数的;
•file.seek(n):使定位到特定 字节 处(若使用read()方法读完文件后还想再读取一次文件,可以使用seek(0)重新定位到文件开始处再读取);
•file.tell():返回当前定位的字节位置;
•file.readline():读取文件中的一行,并定位到下一行的开始处;
•file.readlines():读取文件中的所有行,返回所有行为元素组成的列表;

4. 使用open进行文件操作使建议使用with创建运行环境,可以不用close()方法关闭文件,无论在文件使用中遇到什么问题都能安全的退出,即使发生错误,退出运行时环境时也能安全退出文件并给出报错信息。

# 使用with创建运行时环境
with open('xxx.text', encoding='utf-8') as file:
  file_content = file.read()
  file.seek(0)
  file_ten_characters = file.read(10)
  print(file_content)
  print(file_ten_characters) #执行完with中的代码后自动退出运行时环境
 类似资料:
  • 本文向大家介绍Python yield 使用浅析,包括了Python yield 使用浅析的使用技巧和注意事项,需要的朋友参考一下 初学 Python 的开发者经常会发现很多 Python 函数中用到了 yield 关键字,然而,带有 yield 的函数执行流程却和普通函数不一样,yield 到底用来做什么,为什么要设计 yield ?本文将由浅入深地讲解 yield 的概念和用法,帮助读者体会

  • 本文向大家介绍浅析javascript操作 cookie对象,包括了浅析javascript操作 cookie对象的使用技巧和注意事项,需要的朋友参考一下 Cookie 对象 是一种以文件(Cookie文件)的形式保存在客户端硬盘的Cookies文件夹中的数据信息(Cookie数据)。Cookie文件夹中的用户数据信息(Cookie数据)。Cookie文件由所访问的Web站点建立,以长久的保存客户

  • 本文向大家介绍浅析使用JDBC操作MySQL需要添加Class.forName("com.mysql.jdbc.Driver"),包括了浅析使用JDBC操作MySQL需要添加Class.forName("com.mysql.jdbc.Driver")的使用技巧和注意事项,需要的朋友参考一下 引言 如果熟悉使用JDBC来连接数据库的同学一定很清楚连接数据库的代码中一定会有依据Class.forNam

  • 本文向大家介绍JavaScript递归操作实例浅析,包括了JavaScript递归操作实例浅析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了JavaScript递归操作。分享给大家供大家参考,具体如下: 问题 一个简单的递归,求n的阶乘: 如果像下面这样使用它,则会出错: 因为fcopy指向的函数实体调用了factorial,而factorial已经被释放。 解决的办法 使用argume

  • 问题内容: 我在此python程序中遇到了一个错误“ IOError:[Errno 0] Error”: 似乎是什么问题?以下两种情况都可以: 和: 还是,为什么 不打印文件的大小,是“ a +”附加模式吗?那么文件指针应该指向EOF? 我正在使用Windows 7和Python 2.7。 问题答案: Python使用stdio的fopen函数并将模式作为参数传递。我假设您使用Windows,因为

  • 本文向大家介绍Python文件操作基础流程解析,包括了Python文件操作基础流程解析的使用技巧和注意事项,需要的朋友参考一下 一.文件操作的流程 1、打开文件 open('C:\a.txt\nb\c\d.txt') 解决方案一:推荐 open(r'C:\a.txt\nb\c\d.txt') 解决方案二: open('C:/a.txt/nb/c/d.txt') f=open(r'aaa/a.txt