文件操作
1,文件操作。
文件.txt
1,文件路径
2,编码方式:utf-8。
3,动作mode,读,读写,写读.....
f1 = open('D:\文件.txt', encoding='utf-8', mode='r')
content = f1.read()
print(content)
f1,文件句柄,文件对象,file,f_handle,file_handle,f_obj
open打开的指令,windows的指令,
windows 默认编码方式gbk,linux默认编码方式utf-8,mac utf-8。
1,打开文件,产生文件句柄。
2,操作文件句柄。
3,关闭文件。
SyntaxError: (unicode error) 'unicodeescape' codec
can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
f1 = open(r'D:\文件.txt', encoding='utf-8', mode='r')
# f1 = open('D:\\文件.txt', encoding='utf-8', mode='r')
EncodeDecodeErorr: 编码错误。
r rb r+,r+b
read read(n) readline readlines for 循环
# read 全部读出 # f1 = open('log1', encoding='utf-8') # content = f1.read() # # print(content) # f1.close() #read(n) # f1 = open('log1', encoding='utf-8') # content = f1.read(5) # r 模式 按照字符读取。 # print(content) # f1.close()
2、相对路径
# f1 = open('log1', mode='rb') # content = f1.read(3) # rb模式 按照字节读取。 # print(content.decode('utf-8')) # f1.close()
#readline()按行读取 # f1 = open('log1', encoding='utf-8') # print(f1.readline()) # print(f1.readline()) # print(f1.readline()) # print(f1.readline()) # f1.close() #readlines() 将每一行作为列表的一个元素并返回这个列表 # f1 = open('log1', encoding='utf-8') # print(f1.readlines()) # f1.close() #for循环 # f1 = open('log1', encoding='utf-8') # for i in f1: # print(i) # f1.close() # f2 = open('log1',mode='rb') # print(f2.read()) # f2.close() #编码的补充:\ # s1 = b'\xd6\xd0\xb9\xfa' # s2 = s1.decode('gbk') # s3 = s2.encode('utf-8') # print(s3) # b'\xe4\xb8\xad\xe5\x9b\xbd' # s1 = b'\xd6\xd0\xb9\xfa'.decode('gbk').encode('utf-8') # print(s1) #r+ 读写 # f1 = open('log1', encoding='utf-8', mode='r+') # print(f1.read()) # f1.write('666') # f1.close() # f1 = open('log1', encoding='utf-8', mode='r+') # f1.seek(0,2) # f1.write('6666') # f1.seek(0)#调整光标 # print(f1.read()) # #光标 按照字节去运转 seek # f1.close() # w模式 # f1 = open('log2', encoding='utf-8', mode='w') # f1.write('alex是披着高富帅外衣的纯屌丝.....') # f1.close() # f1 = open('log2', mode='wb') # f1.write('alex是披着高富帅外衣的纯屌丝.....'.encode('utf-8')) # f1.close() #w+ 写读模式 # f1 = open('log2', encoding='utf-8', mode='w+') # print(f1.read()) # f1.write('666') # f1.close() #a ab # f1 = open('log2', encoding='utf-8', mode='a') # f1.write('\n老男孩') # f1.close() #a+ # f1 = open('log2', encoding='utf-8', mode='a+') # f1.write('fdsafdsafdsagfdg') # f1.seek(0) # print(f1.read()) # f1.close()
3、文件的改
a ab a+,a+b
seek tell truncates,wrateble,readable,等等。
文件的改。
#1,打开原文件,产生文件句柄。
#2,创建新文件,产生文件句柄。
#3,读取原文件,进行修改,写入新文件。
#4,将原文件删除。
#5,新文件重命名原文件。
# import os # with open('file_test', encoding='utf-8') as f1,\ # open('file_test.bak', encoding='utf-8', mode='w') as f2: # old_content = f1.read() # new_content = old_content.replace('alex','SB') # f2.write(new_content) # os.remove('file_test') # os.rename('file_test.bak','file_test') import os with open('file_test', encoding='utf-8') as f1,\ open('file_test.bak', encoding='utf-8', mode='w') as f2: for line in f1: new_line = line.replace('SB','alex') f2.write(new_line) os.remove('file_test') os.rename('file_test.bak','file_test')