文件系统
文件操作
计算机文件包括:二进制文件和文本文件 在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)
fileobj
是open()
返回的文件对象
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()