欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python 文件I/O

程序员文章站 2022-07-01 18:09:45
...

1.打开文件

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

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

  1. file:是一个包含了你要访问的文件名称的字符串值。
  2. mode:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读r。
    常见mode
    python 文件I/O
  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下的全部文件名称,以列表形式存储
相关标签: Python