Skip to content

文件系统

文件操作

计算机文件包括:二进制文件和文本文件 在Windows平台中,扩展名为.txt.log.ini的文件都属于文本文件。在Windows中创建的文本文件默认是gbk编码格式,Pycharm中默认是utf-8编码格式,在打开文件时通常需要设置编码格式参数:

python
f1 = open( 'file1.txt','r',encoding="gb2312")    # 以读模式打开文件
fp = open(r"C:\Users\Asus\Desktop\111.txt","rt", encoding='UTF-8') # 可以读取中文

打开文件

打开文件需要使用open()函数:

python
textFile = open("7-1.txt","rt")   # t表示文本的形式
t = textFile.readline()    # 调用对象的readline()函数来读取文件内容
print(t)  # 把文件的内容显示出来
textFile.close()   # 关闭文件

textFile = open("7-1.txt","rb")   # b表示以二进制形式打开

fileobj = open(filename, mode)

  • fileobjopen()返回的文件对象

  • filename是要打开的文件的路径和名称(文件路径描述方式:不转义,例 r’D:\Python\code\test.txt’(首选))

  • mode的参数值:r(只读) w(只写) a(追加) x(新建)

    mode是文件类型和操作的字符串,有两个字母类型,第一个字母表示对其操作,r只读模式(默认),w覆盖写模式,a追加模式,x创建写模式;第二个是文件类型,t 表示文本的形式(默认形式,可省略),b 表示以二进制形式打开

当对文件内容操作完以后,一定要关闭文件对象fileobj.close(),这样才能保证所做的任何修改都确实被保存到文件中

读写操作

文件的读取

文件读写操作的相关函数:

  • read(size) :从文件读取长度为size的字符串,如果给定为负值就读取所有内容
  • readline() :读取一行
  • readlines():读取所有行返回列表

多行文件的读写:

python
f = open("score.txt", "r")
for line in f.readlines():
  print(line)
f.close()

with open('sample.txt') as fp:
    for line in fp:       # 文件对象是可以迭代的
        print(line)

读取文本文件整个内容:

python
fp = open(r"C:\Users\Asus\Desktop\111.txt", "rt", encoding='UTF-8')
t = fp.read(-1)    # 返回t的类型是字符串
print(t)
fp.close()

查找文件时换行符也算一个字符,但是在字符串里面不显示,但会算做一个下标索引

文件的写入

写入文件:file.write(string)

python
s = 'Hello world\n文本文件的读取方法\n文本文件的写入方法\n'
f = open(r"C:\Users\Asus\Desktop\222.txt", "a+", encoding='UTF-8') # 打开文件
f.write(s)  # 写入文件内容
f.close()  # 关闭文件

输入输出重定向

python
sys.stdin   # 标准输入
sys.stdout  # 标准输出
sys.stderr  # 标准错误输出

import sys
s = sys.stdin.readlines()

Released under the MIT License.