python 文件I/O

本文介绍了Python中打开文件的方法,包括使用with open和直接调用open函数的区别,详细讲解了文件的常见属性如closed、mode和name。还讨论了file对象的方法,如read、readline、readlines和write,并解释了它们的使用。最后,提到了OS库的相关方法,如rename、remove、mkdir、getcwd、rmdir和listdir。
摘要由CSDN通过智能技术生成

1.打开文件

通常用with open(file, mode, encoding)
用了with,文件在执行完with语句后会自动关闭文件
若直接用open,要手动关闭文件。

open函数的三个参数分别是:

  1. file:是一个包含了你要访问的文件名称的字符串值。
  2. mode:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读r。
    常见mode
    在这里插入图片描述
  3. encoding:指定文件编码,若想读写中文,推荐用utf-8
例:
with open('text',mode='r',encoding='utf-8') as f:
     for i in f.readlines():
         print(i.replace('\n',""))

2. file的常见属性

  1. file.closed 返回true如果文件已被关闭,否则返回false。
  2. file.mode 返回被打开文件的访问模式。
  3. file.name 返回文件的名称。
with open('text',mode='r',encoding='utf-8') as f:
    print('访问模式: ',f.mode)
    print('文件名称:',f.name)
    print('文件是否关闭:',f.closed)
    print("文件编码:",f.encoding)
    
输出结果:
访问模式:  r
文件名称: text
文件是否关闭: False
文件编码: utf-8

3.file的常见方法

  1. read(n):从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
  2. readline():读取当前位置的一行
  3. readlines():读取当前位置后的多行
  4. write(str):在当前位置写入一个字符串
  5. writelines(list): 其参数可以是列表
例:打开一个空文本,分别用write和writelines写入数据

with open('text',mode='a+',encoding='utf-8') as f:
    f.write("你好\n世界\n")
    f.writelines(['hello world\n','hello world\n'])
此时文本内容为:
你好
世界
hello world
hello world


with open('text',mode='r',encoding='utf-8') as f:
    print(f.readline())
    print(f.readlines())

输出结果:
你好
['世界\n', 'hello world\n', 'hello world\n']  

如何理解输出结果?
print(f.readline())这条语句读取了文本的第一行,此时光标移动到了文本第一行的最后一个位置。再执行print(f.readlines()),其结果就不包含文本第一行数据。

4.OS库相关方法

  1. rename():需要两个参数,当前的文件名和新文件名。
  2. remove():删除文件,需要提供要删除的文件名作为参数。
import os
os.rename('a.txt','b.txt')
os.remove('b.txt')
  1. mkdir()方法:在当前目录下创建新的目录们。你需要提供一个包含了要创建的目录名称的参数。
  2. getcwd()方法:显示当前的工作目录。
  3. rmdir()方法删除目录,目录名称以参数传递。此方法必须保证文件夹为空
  4. os.listdir(path):获取path下的全部文件名称,以列表形式存储
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值