پائتھن کورس کا لیکچر 35۔ ایک سادہ فائل آرگنائزر بنانے کا ایک پروجیکٹ جو فائلوں کے ناموں کی فہرست پڑھتا ہے اور انہیں ان کی ایکسٹینشن کی بنیاد پر مختلف فائلوں میں ترتیب دیتا ہے۔
ایک عملی فائل I/O پروجیکٹ
آئیے فائلوں کو پڑھنے اور لکھنے کے اپنے علم کو، فہرستوں اور سٹرنگ میتھڈز کے ساتھ، ایک مفید یوٹیلیٹی بنانے کے لیے استعمال کرتے ہیں: ایک فائل آرگنائزر۔
پروجیکٹ کے اہداف
ہمارا پروگرام یہ کرے گا:
- ایک سورس فائل (مثلاً،
files.txt) سے فائلوں کے ناموں کی فہرست پڑھے گا۔ - ہر فائل کے نام کے لیے، اس کی ایکسٹینشن کی بنیاد پر اس کی فائل کی قسم کا تعین کرے گا (مثلاً،
.txt،.jpg،.py)۔ - فائلوں کے ناموں کو ان کی قسم کی بنیاد پر الگ الگ فائلوں میں لکھے گا (مثلاً،
text_files.txt،image_files.txt)۔
سیٹ اپ
سب سے پہلے، files.txt نامی ایک فائل بنائیں اور اس میں درج ذیل فائلوں کے نام شامل کریں، ہر لائن پر ایک:
document1.txt
image.jpg
script.py
document2.txt
photo.png
archive.zip
app.pyکوڈ
یہ ہمارے فائل آرگنائزر کا مکمل کوڈ ہے۔
# The name of the file we will read from
source_filename = 'files.txt'
print("Starting file organization...")
# We use with to ensure the file is closed properly
with open(source_filename, 'r') as f:
# Loop through each line in the source file
for filename in f:
# .strip() removes any leading/trailing whitespace, including the newline character
filename = filename.strip()
# Find the file extension
if '.' in filename:
# .rsplit() splits from the right side
name, extension = filename.rsplit('.', 1)
else:
# If there is no extension, we can skip it or put it in a special file
continue
# Determine the output file based on the extension
if extension == 'txt':
output_filename = 'text_files.txt'
elif extension in ['jpg', 'png', 'gif']:
output_filename = 'image_files.txt'
elif extension == 'py':
output_filename = 'python_scripts.txt'
else:
output_filename = 'other_files.txt'
# Append the filename to the correct output file
with open(output_filename, 'a') as output_file:
output_file.write(filename + '\n')
print("File organization complete!")اس اسکرپٹ کو چلانے کے بعد، آپ کو اپنی ڈائریکٹری میں text_files.txt اور image_files.txt جیسی نئی فائلیں ملیں گی، ہر ایک میں متعلقہ فائلوں کے نام شامل ہوں گے۔
لیکچر کا خلاصہ
اس پروجیکٹ میں، آپ نے اب تک سیکھی ہوئی بہت سی مہارتوں کو یکجا کیا ہے۔ آپ نے فائل سے پڑھنے، .strip() اور .rsplit() جیسے سٹرنگ میتھڈز کا استعمال، فیصلے کرنے کے لیے مشروط کا استعمال، اور اپینڈ موڈ میں فائلوں میں لکھنے کی مشق کی۔ یہ ایک بہترین مثال ہے کہ پروگرامنگ کو سادہ لیکن تھکا دینے والے کاموں کو خودکار بنانے کے لیے کیسے استعمال کیا جا سکتا ہے۔
اگلی بار
ہم اپنے کورس کے اگلے بڑے حصے کا آغاز اپنے کوڈ کے دوبارہ قابل استعمال بلاکس کو فنکشنز کا تعارف کے ساتھ بنانا سیکھ کر کریں گے۔
لیکچر 34: فائلوں میں لکھنا – پائتھن کورس

