文件系统
文件操作
计算机文件包括:二进制文件和文本文件 在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()