st = ''
size = 5
# 檔案編碼和檔案編碼錯誤處理
f = open('test.txt', 'r', encoding='gbk', errors='ignore')
"""檔案操作"""
# 'r':讀
open('r')
# 'w':寫
open('w')
# 'a':追加
open('a')
# 'r+' == r+w(可讀可寫,檔案若不存在就報錯(ioerror))
open('r+')
# 'w+' == w+r(可讀可寫,檔案若不存在就建立)
open('w+')
# 'a+' ==a+r(可追加可寫,檔案若不存在就建立)
open('a+')
# 對應的,如果是二進位制檔案,就都加乙個b就好啦:
# 'rb' 'wb' 'ab' 'rb+' 'wb+' 'ab+'
# 清空檔案
# 僅當以 "r+" "rb+" "w" "wb" "wb+"等以可寫模式開啟的檔案才可以執行該功能
f.truncate()
# 從檔案中讀取一行
f.readline()
# 5為讀取的長度,以byte為單位
f.read(5)
# 讀一行,如果定義了size,有可能返回的只是一行的一部分
f.readline(size)
# 把檔案每一行作為乙個list的乙個成員,並返回這個list。
# 其實它的內部是通過迴圈呼叫readline()來實現的。如果提供size引數,size是表示讀取內容的總長,也就是說可能唯讀到檔案的一部分。
f.readlines(size)
# 將字串寫入檔案 並不會在最後加上換行符
f.write(st)
# 把st的內容全部寫到檔案中(多行一次性寫入)。這個函式也只是忠實地寫入,不會在每行後面加上任何東西。
f.writelines(st)
# 把緩衝區的內容寫入硬碟
f.flush()
# 返回乙個長整型的'檔案標籤' 感覺沒啥用
f.fileno()
# 檔案是否是乙個終端裝置檔案(unix系統中的)
f.isatty()
"""檔案指標"""
# 獲取指標
l = f.tell()
# 移動檔案的指標
f.seek('偏移量','選項' )
# 選項 =0 時, 表示將檔案指標指向從檔案頭部到 "偏移量"位元組處。
# 選項 =1 時, 表示將檔案指標指向從檔案的當前位置,向後移動 "偏移量"位元組。
# 選項 =2 時, 表示將檔案指標指向從檔案的尾部,,向前移動 "偏移量"位元組。
# 返回下一行,並將檔案操作標記位移到下一行。把乙個file用於for … in file這樣的語句時,就是呼叫next()函式來實現遍歷的。
f.next()
# 將檔案打操作標記移到offset的位置。這個offset一般是相對於檔案的開頭來計算的,一般為正數。
# 但如果提供了whence引數就不一定了,whence可以為0表示從頭開始計算,
# 1表示以當前位置為原點計算。
# 2表示以檔案末尾為原點進行計算。python3不允許非二進位制開啟的檔案,相對於檔案末尾的定位。
# 就是說,如果想定位到文件末尾,一是用python2.7,;或者python3中用二進位制開啟文件
# 需要注意,如果檔案以a或a+的模式開啟,每次進行寫操作時,檔案操作標記會自動返回到檔案末尾。
# f.seek(offset[,whence])
"""檔案使用方式"""
# 這種方法不用單獨去關閉
with open('', 'wb') as f:
f.write(st)
# 方法2 使用後關閉
f = open('','wb')
f.read()
f.close()
關於python文 關於python檔案操作
總是記不住api。昨晚寫的時候用到了這些,但是沒記住,於是就索性整理一下吧 python中對檔案 資料夾 檔案操作函式 的操作需要涉及到os模組和shutil模組。得到當前工作目錄,即當前python指令碼工作的目錄路徑 os.getcwd 返回指定目錄下的所有檔案和目錄名 os.listdir 函...
關於python文 關於python檔案操作
總是記不住api。昨晚寫的時候用到了這些,但是沒記住,於是就索性整理一下吧 python中對檔案 資料夾 檔案操作函式 的操作需要涉及到os模組和shutil模組。得到當前工作目錄,即當前python指令碼工作的目錄路徑 os.getcwd 返回指定目錄下的所有檔案和目錄名 os.listdir 函...
Python常用的檔案讀寫操作和字串操作
fileutils.py coding utf 8 import os def readstrfromfile filepath 從檔案中讀取字串str param filepath 檔案路徑 return string 文字字串 with open filepath,rb as f string ...