اذهب إلى المحتوى
  • 0

مشكلة في إضافة اسم الملف للمجلد الأب في بايثون؟

محب روفائيل

السؤال

عندي الكود التالي ووظيفته كما هو موصوف بالعنوان أن يخزن قيمة ملف txt بدون ال extension ويضيفه إلى بداية إسم المجلد الموجود به هذا الملف

import os
from os.path import basename

main_dir = 'E:\Python\Work\\trying'
os.chdir(main_dir)

files = os.listdir()

for f in files:
	sub_dir = f
	os.chdir(main_dir + '\\' + sub_dir)
	
	
	first_file = str(os.listdir()[0])
	first_file = os.path.splitext(first_file)[0]
	
	os.rename(main_dir + '\\' + sub_dir, main_dir + '\\' + first_file + ' ' + sub_dir)

الناتج في ال dos cmd كان كما يظهر بالمرفقات

لدي في ال directory الرئيسي (E) مجلد يدعى trying به ثلاث مجلدات New folder 1 و New folder 2 و New folder 3

وبهم على التوالي ملفات 1.txt و 2.txt و 3.txt

المطلوب هو تغيير أسماء المجلدات بإضافة أسماء الملفات الداخلية (بدون الإمتداد) إلى بداية اسم المجلدات لتصبح كالتالي:

1New folder 1 و 2New folder 2 و 3New folder 3

21640568_1834307999931279_958792435_o.png

Untitled.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

تحياتي لك صديقي,
 

كل ما عليك فعله هو إعادة التوجيه الى الملف الجذر

os.chdir(main_dir)

قبل محاولة اعادة التسمية.

os.chdir(main_dir)
os.rename(main_dir + '\\' + sub_dir, main_dir + '\\' + first_file + ' ' + sub_dir)

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

ملحوظة، الكود التالي يعمل على Linux بدون أي مشاكل

import os
from os.path import basename

main_dir = os.getcwd() + '/trying'
os.chdir(main_dir)

files = os.listdir(main_dir)

for f in files:
    sub_dir = f
    os.chdir(main_dir + '/' + sub_dir)
    new_dir = main_dir + '/' + sub_dir
    
    first_file = str(os.listdir(new_dir)[0])
    first_file = os.path.splitext(first_file)[0]
    
    os.rename(main_dir + '/' + sub_dir, main_dir + '/' + first_file + ' ' + sub_dir)
 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...