এই মুহুর্তে আমি এটি ব্যবহার করছি:
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)
এখন সম্পূর্ণ কার্যকর। আশা করি এটি আপনাকে সহায়তা করবে।
সম্পাদনা:
আমি এটিকে একটি ফাংশনে পরিণত করেছি, যা উত্স এবং গন্তব্য ডিরেক্টরিটি গ্রহণ করে, গন্তব্য ফোল্ডারটি উপস্থিত না থাকলে তা তৈরি করে এবং ফাইলগুলি সরিয়ে দেয়। এছাড়াও এসসিআর ফাইলগুলি ফিল্টার করার অনুমতি দেয়, উদাহরণস্বরূপ যদি আপনি কেবল চিত্রগুলি সরিয়ে নিতে চান, তবে আপনি '*.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
ফাংশন আলাদা হয়। সম্পূর্ণ লেখার জন্য এখানে যান । সংক্ষেপে,shutil.move
পাইথনগুলি একটি ব্যতিক্রম উত্থাপন করবে (তবে gnu-coreutils তাmv
করবে না) যখন আপনার গন্তব্য ডিরেক্টরি হয় এবং ডিরেক্টরিতে ইতিমধ্যে উত্স হিসাবে একই নামের একটি ফাইল থাকে (আরও তথ্যের জন্য পূর্ববর্তী বাক্যে প্রদত্ত লিঙ্কটি দেখুন )।