文件操作

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()
View Code

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')
View Code

 

 

 

posted @ 2018-04-21 03:41  baibai01  阅读(70)  评论(0编辑  收藏  举报