python自学第7天(MJ培根)

文件操作

python自学第7天(MJ培根)
  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

 

   
上一篇:[C/C++游戏编码教程]:扫雷游戏


下一篇:do-while百钱百鸡