Python基础 文件处理

# 同一个相对路径下,可以直接用文件名
# 不在同一路径下,需要使用绝对路径
# 需要指定编码方式,需要跟打开的文件编码格式一致,open函数会读取操作系统的默认编码,Windows的默认编码是gbk,如果不指定会报错
# f = open('文件名', encoding='utf8')
# data = f.read()
# print(data)
# f.close()
# 使用后需要关闭文件

#文件打开模式
#r 只读  w只写 a
#一般打开默认是只读

文件处理相关模式整理
模式描述
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

#################################读########################################## # f = open('文件名', encoding='utf8') # print(f.readable()) #文件是否可读,返回布尔值 # print(f.readline(),end='') #一次读一行,下次读下一行,end=‘’代表 不要换行,不加会多一个空行 # print(f.readline(),end='') #读取的内容也都是字符串类型 # print(f.readline(),end='') # print(f.readline(),end='') # data = f.readlines() # print(data) #输出一个列表,将每一行作为一个元素 #######################################写################################################### # f=open('文件名','w',encoding='utf8') #只写 新建一个新文档,若原来存在则覆盖原文档 # f.write('111111111\n') #写入 \n换行 写入的东西必须是str # f.write('eeeeeeeeee\n') # f.writelines(['111321111\n','11111ds111\n']) #一个列表,多行 # f.writable() #######################################a############################################### # f=open('文件名','a',encoding='utf8') #写模式,追加,不会清空 # f.write('追加\n') ###################################r+可读可写########################################## # f=open('xxxx','r+',encoding='utf8') #可读可写,写的内容追加到文件后面 # data = f.read() # print(data) # f.write('xin\n') #####################################with########################################## # with open('ssd','w') as a: #使用with 打开文档后,不用添加close,系统会自动回收 # a.write('dfdfd') ###################################b模式######################################## #字节 二进制打开,不能指定编码格式, # # f=open('ssd','rb',) # data = f.read() # print(data) #b'dfdfd\r\n21212\r\n\xe4\xbd\xa0\xe5\xa5\xbd\r\n \r\n代表换行 # print(data.decode('utf-8')) #解码 dfdfd 21212 你好 # # f=open('ssd','wb',) # f.write(bytes('你好\n',encoding='utf-8')) #写入,编码,将写入的内容转换成二进制形式 # f.write('养好'.encode('utf-8')) # # f=open('ssd','ab',) # f.write(bytes('你好\n',encoding='utf-8')) #写入,编码,将写入的内容转换成二进制形式 # f.write('养好'.encode('utf-8')) #########################其他################################################ # f = open('ssd','r',encoding='utf-8',newline='') #读取文件中真正的换行符,基本不用 # #print(f.encoding) #查看文件编码 # print(f.readline()) # print(f.tell()) # f.seek(3) #指定文件光标位置 字节 # print(f.tell()) #读取文件光标位置 字节 # with open('ssd', 'r') as f: # data = f.read() # print('context: {}'.format(data))

 

posted @ 2020-08-14 14:00  sansan506  阅读(84)  评论(0)    收藏  举报