文件操作
1 # 文件操作 2 3 # 文件路径:C:\\Users\\Administrator\\PycharmProjects\\PythonStudy\\第一部分Python\\基础学习\\模特校花护士警花 4 5 # SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape 6 # 原因分析:在windows系统当中读取文件路径可以使用\, 但是在python字符串中\有转义的含义,如\t可代表TAB,\n代表换行,所以我们需要采取一些方式使得\不被解读为转义字符。目前有3个解决方案 7 # 1、在路径前面加r,即保持字符原始值的意思。 8 # sys.path.append(r'c:\Users\mshacxiang\VScode_project\web_ddt') 9 # 2、替换为双反斜杠 10 # sys.path.append('c:\\Users\\mshacxiang\\VScode_project\\web_ddt') 11 # 3、替换为正斜杠 12 # sys.path.append('c:/Users/mshacxiang/VScode_project/web_ddt') 13 14 # 编码方式:utf-8 gbk asiic 15 # 以什么编码方式储存文件,就以什么编码 16 ''' 17 字符编码 18 ascii 19 A : 00000010 8位 一个字节 20 21 unicode A : 00000000 00000001 00000010 00000100 32位 四个字节 22 中:00000000 00000001 00000010 00000110 32位 四个字节 23 24 utf-8 A : 00100000 8位 一个字节 25 中 : 00000001 00000010 00000110 24位 三个字节 26 27 gbk A : 00000110 8位 一个字节 28 中 : 00000010 00000110 16位 两个字节 29 1,各个编码之间的二进制,是不能互相识别的,会产生乱码。 30 2,文件的储存,传输,不能是unicode(只能是utf-8 utf-16 gbk,gb2312,ascii等) 31 32 py3: 33 str 在内存中是用unicode编码。 34 bytes类型 35 对于英文: 36 str :表现形式:s = 'alex' 37 编码方式: 010101010 unicode 38 bytes :表现形式:s = b'alex' 39 编码方式: 000101010 utf-8 gbk。。。。 40 41 对于中文: 42 str :表现形式:s = '中国' 43 编码方式: 010101010 unicode 44 bytes :表现形式:s = b'x\e91\e91\e01\e21\e31\e32' 45 编码方式: 000101010 utf-8 gbk。。。。 46 ''' 47 48 # 1、只读 r 49 # rb bytes 1)非文字类 2)上传下载 50 51 # f = open("C:\\Users\\Administrator\\PycharmProjects\\PythonStudy\\第一部分Python\\基础学习\\模特校花护士警花",mode="r",encoding="utf-8") 52 # content = f.read() 53 # print(content) 54 # f.close 55 56 # f = open("模特校花护士警花",mode="r",encoding="utf-8") 57 # content = f.read() 58 # print(content) 59 # f.close 60 61 # 2、只写 w 没有此文件,则创建再写;有,则清除再写 62 # f = open("av",mode='w',encoding="utf-8") 63 # content = f.write("波多野结衣123123") 64 # print(content) 65 # f.close() 66 67 #wb 以bytes类型写入 68 # f = open("av",mode='wb') 69 # content = f.write("波多野结衣苍井空".encode('utf-8')) 70 # print(content,type(content)) 71 # f.close() 72 73 #3、 a 追加 74 # f = open('av',mode='a',encoding='utf-8') 75 # content = f.write('培根小泽玛利亚') 76 # print(content) 77 78 # r+ 读写 先读后写 79 # f = open('av',mode='r+',encoding='utf-8') 80 # print(f.read()) 81 # f.write('上原亚衣') 82 # f.close() 83 84 # w+ 写读 先写后读 85 86 #功能详解 87 # obj = open('log',mode='r+',encoding='utf-8') 88 # content = f.read(3) # 读出来的都是字符 89 # f.seek(3) # 是按照字节定光标的位置 90 # f.tell() 告诉你光标的位置 91 # print(f.tell()) 92 # content = f.read() 93 # print(content) 94 # f.tell() 95 # f.readable() # 是否刻度 96 # line = f.readline() # 一行一行的读 97 # line = f.readlines() # 每一行当成列表中的一个元素,添加到list中 98 # f.truncate(4) 99 # for line in f: 100 # print(line) 101 # f.close() 102 103 # f = open('log',mode='a+',encoding='utf-8') 104 # f.write('wori') 105 # count = f.tell() 106 # f.seek(count-9) 107 # print(f.read(2)) 108 # f.close() 109 110 # with open('log',mode='r+',encoding='utf-8') as f,\ 111 # open('log',mode='w+',encoding='utf-8') as f1:View Code