私はファイルベースの1つのファイル名をソートするのに役立つよりも、スクリプトがPythonで書かれているのを見て、例えばファイル名に基づいてファイルをソートPython
: Iは未整理
111-iam.txt
111-how.txt
110-uare.txt
110-という名前のフォルダに4ファイルを持っていますuok.txt
すべてのファイル名111-xxx.txtとフォルダ名110をすべてのファイル名110-xxx.txtに保つためにフォルダ名111を作成したい
既にフォルダにファイルがある場合は、そのフォルダにファイルを移動していない場合は、新しいフォルダを作成します。
これは最初の実行では機能しましたが、111または110で始まるUnsortedフォルダ名に新しいファイルがあると、エラーが表示されます。 os.mkdir(full_path)FileExistsError:[Errno 17]ファイルが存在します: '/ home/pi/Desktop/Sorted/111' ここに私のコードです。
事前
に感謝君たちimport os
import shutil
srcpath = "/home/pi/Desktop/Unsorted"
srcfiles = os.listdir(srcpath)
destpath = "/home/pi/Desktop/Sorted"
# extract the ten letters from filenames and filter out duplicates
destdirs = list(set([filename[0:2] for filename in srcfiles]))
def create(dirname, destpath):
full_path = os.path.join(destpath, dirname)
os.mkdir(full_path)
return full_path
def move(filename, dirpath):shutil.move(os.path.join(srcpath, filename),dirpath)
# create destination directories and store their names along with full paths
targets = [(folder, create(folder, destpath)) for folder in destdirs]
for dirname, full_path in targets:
for filename in srcfiles:
if dirname == filename[0:2]:
move(filename, full_path)
_it show errors_ - どのようなエラーが表示されましたか?私たちに推測させないでください!これはスクリプトを実行せずにglaceで解決できるものかもしれません。私たちが簡単に答えるようにしてください。 – tdelaney
情報が不明なのは大変申し訳ございません。エラーは です。os.mkdir(full_path) FileExistsError:[Errno 17]ファイルが存在します: '/ home/pi/Desktop/Sorted/111' – zuzu