一、批量修改文件格式擴展名
當我們遇到一堆格式不統一的文件,我們可能需要把他們的後綴名全部修改,方便我們後續的處理。這時,我們可以使用Python的os庫來實現文件重命名。
import os
path = '/Users/xxx'
new_ext = '.new_extension'
for f in os.listdir(path):
file_name, ext = os.path.splitext(f)
if ext != new_ext:
new_name = file_name + new_ext
os.rename(os.path.join(path, f), os.path.join(path, new_name))
這段代碼將指定目錄下所有文件的後綴名修改為「.new_extension」,例如「file1.txt」修改為「file1.new_extension」。
二、批量修改文件編碼格式
有時候我們在使用某些軟體時,需要把文件的編碼格式改為特定的格式。使用Python的chardet庫可以檢測文件的編碼格式,並使用codecs庫將其轉換成我們需要的編碼格式。
import os
import chardet
import codecs
path = '/Users/xxx'
target_encoding = 'utf-8'
for f in os.listdir(path):
with open(os.path.join(path, f), 'rb') as file:
content = file.read()
source_encoding = chardet.detect(content)['encoding']
if source_encoding != target_encoding:
with codecs.open(os.path.join(path, f), 'w', encoding=target_encoding) as out_file:
out_file.write(content.decode(source_encoding))
這段代碼將指定目錄下所有文件的編碼格式修改為「utf-8」。
三、批量修改文件格式為txt
有些文件可能不是.txt格式,但我們需要將它們全部轉換成.txt格式。使用Python的os庫和shutil庫來實現文件類型轉換。
import os
import shutil
path = '/Users/xxx'
for f in os.listdir(path):
file_name, ext = os.path.splitext(f)
if ext != '.txt':
new_name = file_name + '.txt'
shutil.copy(os.path.join(path, f), os.path.join(path, new_name))
os.remove(os.path.join(path, f))
這段代碼將指定目錄下所有文件的格式修改為「.txt」,例如將「file1.doc」修改為「file1.txt」,需要注意的是原文件會被刪除。
四、批量修改文件格式的軟體
有一些批量修改文件格式的軟體可以幫助我們更方便的處理文件格式轉換的問題。例如格式工廠、Anthony Thyssen ImageMagick等等,這些軟體可以自動批量處理大量不同格式的文件。
五、批量修改文件格式名
如果我們需要使用一些特定的前綴或後綴來命名一系列文件,我們也可以使用Python來批量修改文件名。
import os
path = '/Users/xxx'
prefix = 'new_'
suffix = '_suffix'
for f in os.listdir(path):
new_name = prefix + f + suffix
os.rename(os.path.join(path, f), os.path.join(path, new_name))
這段代碼將指定目錄下所有文件名前面加上「new_」,後面加上「_suffix」,例如將「file1.txt」修改為「new_file1_suffix.txt」。
六、批量修改文件格式為mp3軟體
如果我們需要將一系列音頻文件格式全部轉換成.mp3格式,可以使用開源軟體FFmpeg,使用FFmpeg的命令行介面,可以輕鬆完成音頻和視頻的格式轉換。
import os
path = '/Users/xxx'
for f in os.listdir(path):
os.system('ffmpeg -i "' + os.path.join(path, f) + '" -codec:a libmp3lame -qscale:a 2 "' + os.path.join(path, os.path.splitext(f)[0] + '.mp3') + '"')
這段代碼將指定目錄下所有音頻文件格式全部轉換成.mp3格式。
七、批量修改文件格式大小
有時候我們需要將某些文件壓縮或解壓縮,可以使用Python的zipfile庫來完成這項任務。
import os
import shutil
import zipfile
path = '/Users/xxx'
target_size = 1024 * 1024 # 1MB
for f in os.listdir(path):
file_size = os.path.getsize(os.path.join(path, f))
if file_size > target_size:
shutil.make_archive(os.path.splitext(f)[0], 'zip', path, f)
os.remove(os.path.join(path, f))
這段代碼將指定目錄下所有文件大小大於「1MB」的文件壓縮成.zip格式,例如將「file1.txt」壓縮成「file1.zip」,需要注意的是原文件會被刪除。
八、批量修改文件格式手機
當我們需要將電腦中的文件傳輸到手機上時,不同手機需要的格式是不同的。例如蘋果設備支持的格式是.mp3、.mp4等,而安卓設備支持的格式可能是.3gp、.ogg等。在這種情況下,我們需要將文件格式轉換成對應的手機格式。
九、批量修改文件格式後綴
有時候我們需要將文件修改後綴,以達到隱藏文件的目的。可以使用Python的os庫來實現文件重命名。
import os
path = '/Users/xxx'
new_ext = '.new_extension'
for f in os.listdir(path):
file_name, ext = os.path.splitext(f)
if ext != new_ext:
os.rename(os.path.join(path, f), os.path.join(path, file_name + new_ext))
這段代碼將指定目錄下所有文件的後綴名修改為「.new_extension」,例如將「file1.txt」修改為「file1.new_extension」。
十、批量修改文件格式為jpg選取
當我們需要將某些文件轉換成.jpg格式時,我們可以使用開源軟體ImageMagick,使用ImageMagick的命令行介面,可以輕鬆完成圖片的格式轉換。
import os
path = '/Users/xxx'
for f in os.listdir(path):
os.system('convert "' + os.path.join(path, f) + '" "' + os.path.join(path, os.path.splitext(f)[0] + '.jpg') + '"')
這段代碼將指定目錄下所有文件轉換成.jpg格式,例如將「file1.png」轉換成「file1.jpg」。
原創文章,作者:KKNQG,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/371253.html
微信掃一掃
支付寶掃一掃