Python檔案操作,OS庫

2021-09-08 09:01:18 字數 1530 閱讀 4379

# python 檔案操作

## 開啟檔案

input = open("./filetest_utf8.data", encoding="utf-8")

input2 = open("./filetest_gbk.data", encoding="gbk")

str = input.read(5) # 讀取指定位元組

print(str) # 漢字也被視為乙個位元組==》這是第一行

str = input.readline(5) # 會自動記憶檔案指標

print(str)

# 按行讀完乙個檔案

str = input.readline() # 讀取一行,包括換行符

while "" != str:

print(str, end="")

str = input.readline()

input.seek(0,0)

strs = input.readlines() # 讀取所有行,儲存在列表中包括換行符

print(strs)

input.close()

input2.close()

# 接下來,使用檔案寫操作

## 開啟檔案,在檔案末尾追加一行

file = open("filetest_utf8.data", mode="r+", encoding="utf-8") # 讀寫模式開啟檔案,檔案指標位於檔案首

str = "\n這是程式寫入的第六行"

file.seek(0, 2) # 指向檔案尾。偏移量為0.使用mode=a+也可以達到同樣的效果

file.write(str)

## writelines(可迭代物件)

file.seek(0, 2)

strs = ['由writelines寫入1', '由writelines寫入2', '由writelines寫入2']

file.writelines(strs) # 直接串在一起輸出,中間沒有任何分隔符,換行符需要自己加

file.seek(0, 0) # 檔案指標再回到檔案頭

str = file.readline()

while str != "":

print(str, end="")

str = file.readline()

給檔案加行號

file = open("filetest_utf8.data", encoding="utf-8", mode="r+")

lines = file.readlines()

file.seek(0, 0) # 從檔案頭開始覆蓋

for i, line in enumerate(lines):

print(i,line)

tempstr = str(i) + ": "+line

file.write(tempstr)

file.close()

python 檔案操作OS總結

python 檔案操作os總結 最近在用,坐下總結!os的一些操作 os.listdir path 列出該資料夾下面的目錄,一般這麼用 folders 1 os.listdir prefix for folder in folders 1 遍歷這個目錄 os.makedirs path 建立該路徑 ...

python檔案操作二(OS)

import os r os.path.isabs path 判斷是否是絕對路徑 返回上一級 path os.path.dirname path 返回目錄 result os.path.join path,拼接目錄,可以多層拼接 path os.path.abspath path path os.g...

python 檔案及os操作

read 方法從乙個開啟的檔案中讀取乙個字串。需要重點注意的是,python字串可以是二進位制資料,而不是僅僅是文字。write 方法可將任何字串寫入乙個開啟的檔案。需要重點注意的是,python字串可以是二進位制資料,而不是僅僅是文字。write 方法不會在字串的結尾新增換行符 n file 物件...