小程式設計(一) Python批量檔案的編輯

2021-07-10 23:03:07 字數 2775 閱讀 6716

【python】

批量檔案的編輯

開門見山,先上個圖:左邊框是要編輯的批量.pts檔案,中間框是每個.pts檔案的內容格式,下面框是用matlab載入失敗的提示。

這是最近在做人臉對齊的時候遇到的乙個問題:300w資料集中的大量.pts檔案的讀取問題,由於自己試過用matlab來載入.pts檔案,然而並沒有成功,手動刪除又因為.pts檔案確實太多,慢慢修改太難,目前想到乙個辦法就是刪除這幾行,然後直接用matlab直接載入資料,供後期訓練使用。

【這是我找到的解決這個問題的方法,若哪位大神有其它解決方案,還望不吝賜教,先在此謝過!!!】

批量修改檔案的型別,**很簡單【注意縮排】,如下:

注意:(1)將這個.py檔案儲存到你要修改的檔案的同一目錄下執行;

(2)這裡是將所有的.jpg檔案轉換成.png檔案,名稱保持不變。如果要將.pts轉換成.txt,只需要將第三四

行相應的位置換了就好,即:.jpg換為.pts,.png換為.txt。

批量修改檔案的型別,**很簡單【注意縮排】,如下:

注意:

(1)將這個.py檔案儲存到你要修改的檔案的同一目錄下執行;

(2)這裡是將所有的.jpg檔案轉換成.png檔案,名稱按照讀取的順序依次為 「1.png」 「2.png」 等,如果你要

變成其它名字,只需要將str(i)修改為你想要的名稱就可以了。

刪除單個檔案的某一些行,**不複雜【注意縮排】,如下:

numoflines=[1,2,3,72]                #是指要刪除的行,即:第1,2,3,72行。

i=1

openfilehandle=open('0.pts','r') #讀取待修改的檔案

writefilehandle=open('temp','w') #臨時檔案

while 1:

line=openfilehandle.readline() #讀取待修改檔案的行

if line:

if i in numoflines: #判斷當前行數是否為要刪除的行數,如果是,則不複製

i=i+1

continue

else:

i=i+1

writeline='%s'%line #不是要刪除的行就直接複製,寫入臨時檔案

writefilehandle.write(writeline)

else:

break

openfilehandle.close()

writefilehandle.close()

#os.remove('0.pts') #如果要刪除修改之前的檔案,只需要加上這一句話就好

os.rename('temp','0.txt')

print "finish!"

注意: (1)將這個.py檔案儲存到你要修改的檔案的同一目錄下執行;

(2)這裡是刪除了原始檔0.pts中的第1,2,3,72行,並儲存為0.txt檔案。

不再贅述,將上面的組裝起來就好了

【注意縮排】

。親測有效,如有

編輯錯誤之處,還望指出,多謝。

import os

numoflines=[1,2,3,72]

j=0k=1

for file in os.listdir("."):

if os.path.splitext(file)[1] == ".pts":

j=j+1

k=1openfilehandle=open(file,'r')

writefilehandle=open('temp','w')

while 1:

line=openfilehandle.readline()

if line:

if k in numoflines:

k=k+1

continue

else:

k=k+1

writeline='%s'%line

writefilehandle.write(writeline)

else:

break

openfilehandle.close()

writefilehandle.close()

os.remove(file)

os.rename('temp', os.path.splitext(file)[0]+".txt" )

ps:就如何載入上述格式的.pts檔案問題,若有其它解決方案,望不吝賜教。

python批量匯入檔案 python 批量匯入

usr bin envpythoncoding utf 8importmysqldbdefdb execute sql dbs mysqldb.connect host localhost user root passwd root db db port 3306 cursor dbs.cursor...

Python程式設計之批量修改檔案內容

本文簡介 本文主要介紹利用python批量處理資料夾中的檔案,並對其內容進行修改最後生成至另一資料夾中的實現過程。輸入示例檔案 示例 import os path c users administrator desktop input 資料夾位址 for root,dirs,files in os....

python指令碼程式設計 批量複製或刪除檔案

批量複製或者刪除檔案,複製 刪除 就等於移動,呵呵 coding utf 8 import os import shutil 遞迴複製資料夾內的檔案 defcopyfiles sourcedir,targetdir 忽略某些特定的子資料夾 if sourcedir.find exceptionfol...