python二進制、字符編碼及文件操作


1. 二進制

bin()十進制轉二進制 0b
oct()十進制轉八進制 0o
hex()十進制轉十六進制 0x,4個二進制對應1個16進制,用於網絡編程,數據存儲

print(int('110111',2)) = 55
print(int('ffff',16)) = 65535
print(int('7777',8)) = 4095

2. 字符編碼


ASCII碼,8位,1個字節,8bit=1bytes
GB2312,漢字
GBK1.0,繁體
GB18030,少數名族
Unicode,萬國碼,支持所有語言,全部2個字節,對所有語言有映射關系
UTF-8,對Unicode編碼的壓縮和優化,ASCII的1個字節,歐洲字符2個字節,東亞字符3個字節

3. 文件

with open (r'a1.txt',r)as f1,open() as f2:
不需要close
亂碼情況,什么保存什么讀取,win:gbk encoding=‘utf-8’
默認打開模式,r,默認操作模式,r,w,a
修改文件兩種方式,全部讀入內存,修改,修改后全部寫入原文件;以讀的方式打開原文件,以寫的方式打開新文件,一行一行邊讀邊改

3.1 打開方式

  • r,默認rt,只讀,read,readlines
  • w,只寫,write,覆蓋,writelines,可寫列表
  • a,只追加,光標到末尾
  • b,讀取二進制,decode可以還原,二進制模式寫,漢字.encode
  • 混合模式,r+讀寫,w+寫讀
  • 文件只能存字符串用,可以用eval還原存入的數據類型

3.2 文件操作

  • seek,按字節移動,漢字3個,中間寫入會覆蓋數據,修改方法:全部讀入內存修改,用replace替換,for in f 一行一行讀取修改,os模塊remove原來文件,rename新文件
  • tell
  • read,read(2),讀2個字符
  • fileno,返回文件句柄在內核中的索引
  • fluse,強制從緩存刷新到硬盤
  • readable
  • readline
  • seekable
  • truncate,從當前位置開始,后面的刪掉;加上值,從值后面開始刪


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM