මේ මොහොතේ මම භාවිතා කරන්නේ මෙයයි:
import os, shutil
path = "/volume1/Users/Transfer/"
moveto = "/volume1/Users/Drive_Transfer/"
files = os.listdir(path)
files.sort()
for f in files:
src = path+f
dst = moveto+f
shutil.move(src,dst)
දැන් සම්පූර්ණයෙන්ම ක්රියාත්මකයි. මෙය ඔබට උපකාරී වේ යැයි සිතමි.
සංස්කරණය කරන්න:
මම මෙය ශ්රිතයක් බවට පත් කර ඇති අතර, එය ප්රභවයක් සහ ගමනාන්ත නාමාවලියක් පිළිගෙන, ගමනාන්ත ෆෝල්ඩරය නොපවතින නම් සහ ගොනු ගෙන යයි. Src ගොනු පෙරීමට ද ඉඩ දෙයි, නිදසුනක් ලෙස ඔබට රූප පමණක් ගෙනයාමට අවශ්ය නම්, ඔබ රටාව භාවිතා කරයි '*.jpg'
, පෙරනිමියෙන්, එය නාමාවලියෙහි ඇති සියල්ල චලනය කරයි
import os, shutil, pathlib, fnmatch
def move_dir(src: str, dst: str, pattern: str = '*'):
if not os.path.isdir(dst):
pathlib.Path(dst).mkdir(parents=True, exist_ok=True)
for f in fnmatch.filter(os.listdir(src), pattern):
shutil.move(os.path.join(src, f), os.path.join(dst, f))
mv
විධාන , පිඹුරා ගේshutil.move
එක් මුල්ලකට නඩුව කැඳවූ අවස්ථාවේදී ඇතිshutil.move
කාර්යය වඩා වෙනස්. සම්පූර්ණ ලිවීම සඳහා මෙතැනට යන්න . ඉතා කෙටියෙන් කියනවා නම්, Python හිshutil.move
ව්යතිරේකයක් මතු කරනු ඇත (නමුත් GNU-coreutilsmv
නැහැ) ඔබගේ ගමනාන්තය නාමාවලියක් වන අතර බහලුම දැනටමත් උල්පත ලෙස එම නම ඇති ගොනුවක් ඇති විට (නැවතත් වැඩිදුර තොරතුරු සඳහා පෙර දඬුවම ඇති ලින්ක් එක බලන්න ).