1. 程式人生 > >python 文件操作(三)

python 文件操作(三)

指定 讀取文件 boot 行數據 列表 open 常用 按行讀取 開始


轉自 http://www.cnblogs.com/sunyang945/p/7900927.html

#文件操作(寫入文件,讀取文件) #寫入文件 #
1.打開文件(打開冰箱) fp = open(test.txt,w) print(fp,type(fp)) #2.寫入文件(把大象塞進去) fp.write(什麽時候你會覺得不再年輕了?) #3.關閉文件(關上冰箱) fp.close() #讀取文件 #1.打開文件(打開冰箱) fp = open(test.txt,r) #print(fp) #2.讀取文件(把大象拿出來) txt = fp.read() print(txt) #
3.關閉文件(把冰箱門關閉) fp.close() #文件常用函數 #open() 打開或者新建一個文件 ‘‘‘ open(文件路徑,打開模式) #基本模式 w write 寫入模式 1.文件不存在則新建文件,文件已存在,打開並且清空文件 2.該模式下只能進行寫入操作 r read 讀取模式 1.文件不存在則報錯,文件已存在則打開文件,將指針指向文件的開頭 2.該模式下只能進行讀取操作 a append 追加模式 1.文件不存在則新建文件,文件已存在則打開文件,將指針指向文件結尾 2.該模式下只能進行寫入操作 x xor 異或模式
1.文件已存在則報錯,文件不存在則新建文件 2.該模式下只能進行寫入操作 #擴展模式(不能單獨使用必須和基本模式一起用) + plus 增強模式 可以使得任何基本模式變成讀寫模式 b bytes 位模式 獲取數據或者寫入數據的類型為bytes類型 ‘‘‘ #增強模式 fp = open(wangwang.txt,w+) #寫入操作 fp.write(四處張望) #將指針設置為開頭位置 fp.seek(0) #讀取操作 result = fp.read() print(result) fp.close() #bytes模式 涉及到一個bytes的數據類型 content
= 喵星人為啥不能作為警貓呢? result = content.encode()#編碼操作 print(result) fp = open(miaomiao.txt,wb) fp.write(result) fp.close() fp = open(miaomiao.txt,rb) result = fp.read() print(result.decode())#解碼操作 fp.close() #read() 讀取文件內容 fp = open(miaomiao.txt,r) #讀取所有內容 #txt = fp.read() #讀取指定個數的字符 txt = fp.read(5) print(txt) fp.close() #write() 寫入文件內容 fp = open(miaomiao.txt,w) fp.write(kqkyhtk) fp.close() #readline() 一次讀取一行數據 fp = open(question,r) result = fp.readline() result = fp.readline() #讀取一行數據的前n個字符 result = fp.readline(5) print(result) fp.close() #readlines() 一次性將文件按行讀取到列表當中取 fp = open(question,r) #讀取所有行 result = fp.readlines() #根據指定的字符長度 讀取n行 result = fp.readlines(50) print(result) fp.close() #writelines() 將容器中的數據一次性寫入文件 ‘‘‘ txt = [一\n,二\n,三\n,四\n fp = open(num.txt,w) fp.writelines(txt) fp.close() ‘‘‘ #truncate() 文件截取操作 #fp = open(num.txt,a) #這裏的長度單位不是字符而是字節 #fp.truncate(2) #fp.close() ‘‘‘ 字符:一個獨立存在的文字就是一個字符,無論什麽語言什麽符號 字節:用於存儲數據的基本單位 1TB = 1024GB 1GB = 1024MB 1MB = 1024KB 1KB = 1024B 1B = 8bytes 字符集: 基本的英文編碼(1個字節) ascii碼 -> 記錄英文和數字及部分符號的編碼 (128個) 擴展ascii碼 -> 增加了ascii碼的數量(256個) 制作特定語言的編碼(2個字節[針對漢字]) gb2312編碼 -> 存儲了5000個常用漢字 gb10800編碼-> 擴充了漢字數量 gbk編碼 -> 包含了所有漢字 big5編碼 -> 繁體中文編碼 制作世界統一編碼(3個字節[針對漢字]) utf-8 包含世界上絕大部分的文字的編碼 utf-16 包含世界上絕大部分的文字的編碼 ‘‘‘ #文件函數 ‘‘‘ #tell() 獲取文件指針的位置(字節) fp = open(01.txt,r) #輸出當前指針位置 pos1 = fp.tell() print(pos1) #讀取內容 result = fp.read() print(result) #輸出當前指針位置 pos2 = fp.tell() print(pos2) fp.close() ‘‘‘ #seek() 移動文件指針的位置 fp = open(01.txt,r) #獲取開始文件指針位置 print(fp.tell) #移動指針 fp.seek(9) #獲取開始文件指針位置 print(fp.tell()) #讀取文件 result = fp.read() print(result) fp.close()
#shutil模塊 高級文件處理模塊
import shutil

#copy() 復制文件
#result = shutil.copy(/home/sy/下載/001,/home/sy/文檔/002)
#print(result)

#copy2() 復制文件,保留原有數據信息
#result = shutil.copy2(/home/sy/下載/001,/home/sy/文檔/003)
#print(result)

#copyfileobj() 將一個文件的內容拷貝到另一個文件當中
#result = shutil.copyfileobj(open(01.txt,r)),open(02.txt,a)
#print(result)
#copyfile() 將一個文件的內容拷貝到另一個文件當中 copyfileobj(open(,r),open(,w))
#result = shutil.copyfile(01.txt,02.txt)
#print(result)

#copytree() 復制整個目錄
#result = shutil.copytree(/home/sy/PycharmProjects/python3/11.9,/home/sy/my11.9)
#print(result)

#copymode()  拷貝權限
#result = shutil.copymode(/home/sy/文檔/canzhao,/home/sy/文檔/mode)
#print(result)

#copystat()  拷貝元數據
#result = shutil.copystat(/home/sy/文檔/002,/home/sy/文檔/stat)
#print(result)

#rmtree()  刪除整個目錄
#result = shutil.rmtree(/home/sy/下載/py)

#move()  移動文件或者目錄
#result = shutil.move(/home/sy/下載/001,/home/sy/文檔/001)
#result = shutil.move()

#which()  檢測命令文件所在的文件夾
#result = shutil.which(reboot)
#print(result)

#disk_usage()  查看磁盤使用量
result = shutil.disk_usage(/)
print(result)

#make_archive()  制作歸檔文件(將指定的文件夾歸檔成一個文件)
#result = shutil.make_archive(/home/sy/下載/guidang,zip,/home/sy/PycharmProjects)
#print(result)

#unpack_archive()  解包歸檔文件
#result = shutil.unpack_archive(/home/sy/下載/myguidang.zip,/home/sy/文檔)
#print(result)

#get_archive_formats() 獲取歸檔允許使用的類型
#result = shutil.get_archive_formats()
#print(result)

#get_unpack_formats()  獲取系統解包的文件類型(包含類型對應的後綴)
#result = shutil.get_unpack_formats()
#print(result)
復制代碼
壓縮與解壓
#zip模塊
import zipfile
‘‘‘
#壓縮操作
#1.創建壓縮文件
zp = zipfile.ZipFile(./11.6.zip,w,zipfile.ZIP_STORED,True)
#print(zp)

#2.向壓縮文件中添加內容
#zp.write(/home/sy/文檔/001,001)
#zp.write(/home/sy/文檔/002,00-2)
zp.write(./getdirsize.py,mydir/gdp.py)

#3.關閉壓縮文件
zp.close()
‘‘‘

#解壓縮文件
#1.打開壓縮文件
zp = zipfile.ZipFile(./11.6.zip,r)
print(zp)

#2.解壓操作
#指定文件
#zp.extract(00-2,/home/sy/下載)
#全部文件
#zp.extractall(./boys)

#3.關閉文件
zp.close()

#tar模塊
import tarfile
‘‘‘
#1.打開壓縮文件
tp = tarfile.open(./07.tar,w:bz2)
print(tp)

#2.添加內容 壓縮文件
tp.add(01.py,arcname= 1.py)
tp.add(02.py,arcname= 2.py)
tp.add(01.txt,arcname= txt/1.txt)

#3.關閉壓縮文件
tp.close()
‘‘‘
#解壓操作
#1.打開壓縮文件
tp = tarfile.open(07.tar,r)

#2.解壓文件
#解壓所有文件
#tp.extractall(./girls)

#解壓指定文件
tp.extract(1.py,/home/sy)

#3.關閉壓縮文件
tp.close()

python 文件操作(三)