• 0

كيف أُغير أسماء الملفات في بايثون؟

أحتاج إلى تغيير أسماء مجموعة من الملفات في مجلد معين باستخدام البايثون، لنفترض أن لدي ملفات باسم CHEESE_CHEESE_TYPE.*** وأريد حذف جزء CHEESE_ من الاسم ليصبح CHEESE_TYPE.

فما هي أسهل طريقة في البايثون لفعل ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك عدة طرق لتعديل أسماء مجموعة من الملفات في البايثون، فلو افترضنا أنك موجود حاليا في المجلد الذي تريد تغيير أسماء فيه، وأن حالة أول 7 أحرف من الملفات لا تتغير(يمكنك تغيير طول عدد الأحرف حسب الحاجة 7 أو 8 أو 3 …) فيمكنك في هذه الحالة استخدام هذه الشيفرة البرمجية لتغيير أسماء الملفات:

from glob import glob
from os import rename
for fname in glob('*.prj'):
    rename(fname, fname[8:])

أو يمكنك الاستعانة بدوال مكتبة os لتعديل أسماء الملفات كما في المثال التالي:

$ ls
cheese_cheese_type.bar  cheese_cheese_type.foo
$ python
>>> import os
>>> for filename in os.listdir("."):
...  if filename.startswith("cheese_"):
...    os.rename(filename, filename[7:])
...
>>>
$ ls
cheese_type.bar  cheese_type.foo

مثال آخر حيث سيتأكد من أن أسماء الملفات لا تحتوي على أكثر من كلمة cheese_:

#!/usr/bin/env python
from os import rename, listdir

badprefix = "cheese_"
fnames = listdir('.')

for fname in fnames:
    if fname.startswith(badprefix*2):
        rename(fname, fname.replace(badprefix, '', 1))

المصدر

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن