我有一個問題,我通過類似的問題解決了所有其他主題,但我沒有得到解決。
我有一個檔案夾,其中有兩個子檔案夾。其中有很多檔案,但我只需要擴展名為.trl. 我需要復制它們并將它們保存在已經創建的新檔案夾中。我的代碼沒有給我錯誤,但我沒有看到任何結果。我做錯了什么?
import os
import shutil
import fnmatch
directory = "/home/.../test_daten"
ext = ('.trl')
dest_dir = "/home/.../test_korpus"
for root, dirs, files in os.walk(directory):
for extension in ext:
for filename in fnmatch.filter(files, extension '.trl'):
source = (os.path.join(root, filename))
shutil.copy2(source, dest_dir)
uj5u.com熱心網友回復:
使用os.walk()并查找所有檔案。然后使用endswith()查找以 . 結尾的檔案.trl。
示例代碼:
import os, shutil;
directory = "/home/.../test_daten";
dest_dir = "/home/.../test_korpus";
filelist = [];
for root, dirs, files in os.walk(directory):
for file in files:
filelist.append(os.path.join(root,file));
for trlFile in filelist:
if trlFile.endswith(".trl"):
shutil.copy(trlFile, dest_dir);
uj5u.com熱心網友回復:
import os
import shutil
import fnmatch
source = "/home/.../test_daten"
ext = '*.trl'
target = "/home/.../test_korpus"
for root, _, files in os.walk(source):
for filename in fnmatch.filter(files, ext):
shutil.copy2(os.path.join(root, filename), target)
uj5u.com熱心網友回復:
也許你的問題是fnmatch.filter(files, extension '.trl')。你有extensionfrom for extension in ext:which 將回圈遍歷變數ext并每次給你一個字母。Your extension '.trl將會..trl, t.trl, l.trl
import os
import shutil
directory = "/home/.../test_daten"
dest_dir = "/home/.../test_korpus"
for root, _, files in os.walk(directory): #Get the root, files
for x in files:
if x.endswith('.trl'): #Check the extension
shutil.copy2(f'{root}/{x}', dest_dir)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/438492.html
上一篇:矩陣行的平方和
下一篇:如何在PHP中排列陣列
