مثال 49 پایتون – برنامه ای به پایتون بنویسید که تمام فایل های در یک دایرکتوری را لیست کند.
کد برنامه
فرض کنیم دایرکتوری pythonProject1 در مسیر /home/alibakhshi/PycharmProjects/ در سیستم عامل لینوکس رو لیست فایل هاش رو بخوایم ببینیم. کد به این صورت میشه:
1 2 3 4 5 |
from os import listdir from os.path import isfile, join directory_path = '/home/alibakhshi/PycharmProjects/pythonProject1' file_list = [i for i in listdir(directory_path) if isfile(join(directory_path, i))] print(file_list) |
خروجی کد
1 |
['sample_binary_classification_data.txt', 'keras.py', 'sample_isotonic_regression_libsvm_data.txt', 'sample_movielens_data.txt', 'kmeans_data.txt', 'pic_data.txt', 'sample_libsvm_data.txt', 'sample_lda_data.txt', 'streaming_kmeans_data_test.txt', 'sample_lda_libsvm_data.txt', 'sample_fpgrowth.txt', 'sample_kmeans_data.txt', 'sample_linear_regression_data.txt', 'sample_svm_data.txt', 'main.py', 'gmm_data.txt', 'sample_multiclass_classification_data.txt', 'pagerank_data.txt'] |
توجه کنید این خروجی برای سیستم عامل و دایرکتوری مشخص شده من است.
توضیح کد برنامه
این کد پایتون برای دریافت لیست فایلها در یک دایرکتوری خاص و چاپ آنها استفاده میشود. در ادامه هر قسمت از کد توضیح داده شده است:
from os import listdir
: این دستور، تابعlistdir
را از ماژولos
فراخوانی میکند. این تابع برای گرفتن لیست تمام فایلها و دایرکتوریها در مسیر مشخص شده استفاده میشود.from os.path import isfile, join
: این دستور، توابعisfile
وjoin
را از ماژولos.path
فراخوانی میکند.isfile
برای بررسی اینکه آیا یک مسیر مشخص به یک فایل اشاره دارد یا نه وjoin
برای اتصال مسیر دایرکتوری و نام فایل استفاده میشود.directory_path = '/home/alibakhshi/PycharmProjects/pythonProject1'
: این خط، مسیر دایرکتوری مورد نظر را که میخواهیم لیست فایلهای آن را دریافت کنیم، تعیین میکند.file_list = [i for i in listdir(directory_path) if isfile(join(directory_path, i))]
: این خط کد یک لیست تشکیل میدهد که تمام فایلهای موجود در دایرکتوری مشخص شده (directory_path
) را شامل میشود. برای هر مورد درlistdir(directory_path)
، کد از تابعisfile
برای اطمینان از اینکه مورد مورد نظر یک فایل است استفاده میکند. سپس نام فایل با استفاده ازjoin
به مسیر دایرکتوری اصلی اضافه میشود و در لیستfile_list
قرار میگیرد.print(file_list)
: در نهایت، لیستfile_list
که حاوی نامهای تمام فایلهای موجود در دایرکتوری مشخص شده است چاپ میشود.
مقداد علی بخشی هستم. موسیقی دان، برنامه نویس، متخصص هوش مصنوعی، علم داده، متخصص بلاکچین و توسعه دهنده ربات های هوشمند.
دانش آموخته مقطع ارشد و دکتری دانشکده فنی دانشگاه تهران هستم. با سابقه تدریس درس برنامه نویسی در دانشگاه (پردیس بین الملل کیش دانشگاه تهران)