Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में निर्देशिकाओं और फाइलों को सूचीबद्ध करना?

पायथन में निर्देशिकाओं और फाइलों को सूचीबद्ध करने के कई तरीके हैं।

फ़ाइलों को निर्देशिका में सूचीबद्ध करना

किसी विशेष पथ से सभी फ़ाइलों या निर्देशिकाओं को प्राप्त करने के सबसे आसान तरीकों में से एक है os.listdir() विधि का उपयोग करना।

os.listdir('.') में osfor x आयात करें:प्रिंट (x)

परिणाम

.pytest_cache4forces.jsonannotation1.pyasyncWrite.txtattribute_access.pybackground_process.pybackground_process2.pyBeautifulSoup_script1.pybottle_exampl1.pybottole_test1.pybuildin_funct.pycallable_object_csvclasses> 

उपरोक्त कोड वर्तमान कार्यशील निर्देशिका से फ़ाइलों और निर्देशिकाओं की एक सूची दिखा रहा है। यदि आप किसी विशेष निर्देशिका से फ़ाइलों और निर्देशिकाओं को सूचीबद्ध करना चाहते हैं, तो बस पूर्ण पथनाम पास करें,

os.listdir(r'C:\Python\Python361\selenium') में osfor x आयात करें:प्रिंट (x)

परिणाम

geckodriver.logtest1.pywebdriver

परिणाम हमारे फ़ोल्डर पदानुक्रम के समान है -

पायथन में निर्देशिकाओं और फाइलों को सूचीबद्ध करना?

उपरोक्त आउटपुट कोई संकेत नहीं दे रहा है कि हमारा आउटपुट फ़ाइल या निर्देशिका या लिंक इत्यादि है या नहीं। यदि आप यह जानना चाहते हैं कि प्रविष्टि एक फ़ाइल, निर्देशिका इत्यादि है, तो हम नीचे दिखाए गए अनुसार os.path.isfile() का उपयोग कर सकते हैं:

आयात ओएस

 for x in os.listdir('.'):if os.path.isfile(x):Print ('file-', x) elif os.path.isdir(x):Print ('directory-') , x) elif os.path.islink(x):प्रिंट ('लिंक-', x) अन्य:प्रिंट ('---', x)

आउटपुट

निर्देशिका- .pytest_cachefile- 4forces.jsonfile- एनोटेशन1.pyfile- asyncWrite.txtfile- विशेषता_एक्सेस.pyfile- background_process.pyfile- background_process2.pyfile- BeautifulSoup_script1.pyfile-bott_exampl1.pyfile-bottole_test1.pydirectory_funct- निर्मित। pyfile- callable_objects1.pyfile-cars.csvfile-classs_instance.pyfile- class_attributes.pyfile- class_attributes1.pyfile- code_gmplot.pyfile- config.pyfile- data1.jsonfile- datafile.txtfile- dataworkfile- data_pandas1.csvfile- data_pandas1.xlsxfile- debuggers. pyfile- डिबगिंग_timeit1.pyfile- डिबगिंग_timeit2.pyfile- define_class.pyfile-directoryTreeStruc.pydirectory- distdirectory- djangodirectory- DLLsdirectory- Docfile-dynamic_array_implementation.py

हमारे पास एक विशेष पथ से फ़ाइलों को एकत्र करने के लिए फ़िल्टर () का उपयोग करके एक-लाइनर हो सकता है -

list(filter(lambda x:os.path.isfile(x), os.listdir('.')))

आउटपुट

['4forces.json', 'annotation1.py', 'asyncWrite.txt', 'attribute_access.py', 'background_process.py', 'background_process2.py', 'BeautifulSoup_script1.py', 'bottle_exampl1.py ', 'bottole_test1.py', 'built-in_funct.py', 'callable_objects1.py', 'cars.csv', 'classes_instance.py', 'class_attributes.py', 'class_attributes1.py', 'code_gmplot.py' ', 'config.py', 'data1.json', 'datafile.txt', 'datawork', 'data_pandas1.csv', 'data_pandas1.xlsx', 'debugger_pdb.py', 'debugging_timeit1.py', 'debugging_timeit2') .py', 'define_class.py', 'directoryTreeStruc.py', 'dynamic_array_implementation.py', 'EDA_python1.py', 'EmpID.pickle', 'encapsulation.py', 'encapsulation1.py', 'enumerate1.py' ', 'eRecord.yaml', 'exampleCSV.csv', 'exampleCSV.py', 'exception1.py', 'exception2.py', 'exception2_1.py', 'exception3.py', 'exception3_1.py', 'Exception4.py', 'exception5.py', 'exercise.txt', 'faking_files.py', 'fileone', 'files_background.py', 'finally.txt', 'finally_try_except.py', 'finally_try_except1.py ', 'आखिरकार_tr y_except2.py', 'flatten&Ravel_Numpy1.py', 'functions_are_object_too.py', 'function_annotation.py', 'function_annotation1.py', 'function_annotation2.py', 'function_annotation3.py', 'function_annotation4_method', 'func. py', 'gc1.py', 'gmplot.py', 'gmplot1.py', 'gmplot11.py', 'gmplot2.py', 'google_search1.py', 'google_search_using_python.py', 'inheritance_example.py' , 'बिल्ट-इन.py से इनहेरिट करना', 'बिल्ट-इन1.py से इनहेरिट करना', 'inheriting_attributes.py', 'inheriting_the_constructor.py', 'instance_data.py', 'instance_methods.py', 'interques1.py' , 'invoice_file1.yaml', 'iterables1.py', 'iterables2.py', 'johnde_test1', 'jsonToPython.py', 'json_example1.json', 'json_example1.py', 'json_example2.py', 'json_script1_loadeRecord. py', 'LDE_EQUITIES_LAST_5_YEARS.csv', 'lib_request.py', 'LICENSE.txt', 'listing_files_directories.py', 'list_comprehension1.py', 'list_comprehension2.py', 'logging.log', 'logging1.py' , 'magicmethods_operator_add.py', 'magicmethods_operator_add1.py', 'MainP.py', 'mat plotlibsam1.py', 'metaclass1.py', 'metaclass2.py', 'metaclass3.py', 'metaclass4.py', 'method.py', 'methodOverloading.py', 'methodOverloading1.py', 'methodOverloading_defaultArgument. py', 'multiple_inheritance.py', 'multiple_inheritance1.py', 'myfile.py', 'my_map.html', 'NegativeAgeException.py', 'NegativeNumberException.py', 'NEWS.txt', 'object_lookup.py' , 'OtherP.py', 'out.txt', 'pandas_script.py', 'pandas_script1.py', 'pandas_script2.py', 'pattern_matching1.py', 'pattern_matching2.py', 'pdb_example1.py', ' pdb_example2.py', 'pickle1.py', 'pickle2.py', 'pickled_list', 'pickle_dictionary1.py', 'pickle_list1.py', 'pickle_test1.py', 'placeing_it_in_context.py', 'plotly.py' , 'polymorphism_example.py', 'primeNum1.py', 'privateVar1.py', 'private_variable_naming.py', 'project_scrap1.py', 'pygame_script1.py', 'pygmap1.py', 'pygmap2.py', ' pygmaps.py', 'pymaps1.py', 'python.exe', 'python.pdb', 'python3.dll', 'python36.dll', 'python36.pdb', 'pythonw.exe', 'pythonw. pdb', 'python_tricks1.py', 'pytho n_tricks2.py', 'replaceing_string_to_number1.py', 'serialization web object encoder.py', 'serialization web object.py', 'serialization_JSON.py', 'serialization_pickle.py', 'serialization_pickle1.py', 'serialization_pickle2.py ', 'serialization_pickle_storing_instances.py', 'serialization_pyaml_file1.py', 'serialization_pyaml_file2.py', 'serialization_pyaml_script1.py', 'serialization_unpickle.py', 'serialization_unpickle2.py', 'simpy1.py', 'sets1. 'simpy2.py', 'stocks_list.csv', 'storing_object1.py', 'storing_objects.py', 'termcolor1.py', 'test.py', 'test.txt', 'test1.py', 'test1 .txt', 'test123.py', 'test2.json', 'test2.py', 'test2.txt', 'test_project1', 'test_sample1.py', 'test_sample2.py', 'test_sample3.py', 'test_sample4.py', 'tkinter1.py', 'tkinter2.py', 'tkinter_firstApp.py', 'try_except_block.py', 'tuple1.py', 'unpickle.py', 'unpickle3.py', 'unpickle_dict1 .py', 'unpickle_list1.py', 'variable_arguments_list.py', 'variable_arguments_list1.py', 'vcruntime140.dll', 'winquality1.p' y', 'workfile1', '__init__ Constructor.py']

फ़िल्टर का उपयोग करके निर्देशिकाओं की सूची प्राप्त करने के लिए:

list(filter(lambda x:os.path.isdir(x), os.listdir('.')))

आउटपुट

['.pytest_cache', 'build', 'dist', 'django', 'DLLs', 'Doc', 'etc', 'gmplot', 'gmplot-1.2.0', 'gmplot.egg- info', 'include', 'Lib', 'libs', 'networkP', 'Scripts', 'selenium', 'share', 'tcl', 'Tools', '__pycache__']

किसी विशेष प्रकार की फ़ाइलें ढूँढना

नीचे एक निर्देशिका में टेक्स्ट फ़ाइलों को खोजने के लिए एक-लाइनर है। कृपया ध्यान दें कि यह निर्देशिका पदानुक्रम में नहीं आता है, लेकिन निर्दिष्ट निर्देशिका में केवल मिलान करने वाली प्रविष्टियां लौटाएगा।

list(filter(lambda x:x.endswith('.txt'), os.listdir('.')))

आउटपुट

['asyncWrite.txt', 'datafile.txt', 'exercise.txt', 'finally.txt', 'LICENSE.txt', 'NEWS.txt', 'out.txt', 'test.txt ', 'test1.txt', 'test2.txt']

हम सूची समझ का उपयोग करके भी उपरोक्त कोड लिख सकते हैं,

>>> list(x for x in os.listdir('.') if x.endswith('.txt'))['asyncWrite.txt', 'datafile.txt', 'exercise.txt', 'अंत में.txt', 'LICENSE.txt', 'news.txt', 'out.txt', 'test.txt', 'test1.txt', 'test2.txt']

दूसरा तरीका है रेगुलर एक्सप्रेशन -

आयात refx =re.compile(r'\.(txt|py)')print(list(filter(fx.search, os.listdir('.'))))

आउटपुट

['.pytest_cache', 'annotation1.py', 'asyncWrite.txt', 'attribute_access.py', 'background_process.py', 'background_process2.py', 'BeautifulSoup_script1.py', 'bottle_exampl1.py' , 'bottole_test1.py', 'built-in_funct.py', 'callable_objects1.py', 'classes_instance.py', 'class_attributes.py', 'class_attributes1.py', 'code_gmplot.py', 'config.py' , 'datafile.txt', 'debugger_pdb.py', 'debugging_timeit1.py', 'debugging_timeit2.py', 'define_class.py', 'directoryTreeStruc.py', 'dynamic_array_implementation.py', 'EDA_python1.py', ' encapsulation.py', 'encapsulation1.py', 'enumerate1.py', 'exampleCSV.py', 'exception1.py', 'exception2.py', 'exception2_1.py', 'exception3.py', 'Exception3_1. py', 'exception4.py', 'exception5.py', 'exercise.txt', 'faking_files.py', 'files_background.py', 'finally.txt', 'finally_try_except.py', 'finally_try_except1.py' , 'finally_try_except2.py', 'flatten&Ravel_Numpy1.py', 'functions_are_object_too.py', 'function_annotation.py', 'function_annotation1.py', 'function_ann otation2.py', 'function_annotation3.py', 'function_annotation4.py', 'func_method.py', 'gc1.py', 'gmplot.py', 'gmplot1.py', 'gmplot11.py', 'gmplot2. py', 'google_search1.py', 'google_search_using_python.py', 'inheritance_example.py', 'inheritance_example.py', 'inheriting frombuilt-in.py', 'inheriting frombuilt-in1.py', 'inheriting_attributes.py', 'inheriting_the_constructor. py', 'instance_data.py', 'instance_methods.py', 'interques1.py', 'iterables1.py', 'iterables2.py', 'jsonToPython.py', 'json_example1.py', 'json_example2.py' , 'json_script1_loadeRecord.py', 'lib_request.py', 'LICENSE.txt', 'listing_files_directories.py', 'list_comprehension1.py', 'list_comprehension2.py', 'logging1.py', 'magicmethods_operator_add.py', ' Magicmethods_operator_add1.py', 'MainP.py', 'matplotlibsam1.py', 'metaclass1.py', 'metaclass2.py', 'metaclass3.py', 'metaclass4.py', 'method.py', 'methodOverloading. py', 'methodOverloading1.py', 'methodOverloading_defaultArgument.py', 'multiple_inheritance.py', 'multiple_inheritance1.py', 'myfi le.py', 'NegativeAgeException.py', 'NegativeNumberException.py', 'NEWS.txt', 'object_lookup.py', 'OtherP.py', 'out.txt', 'pandas_script.py', 'pandas_script1. py', 'pandas_script2.py', 'pattern_matching1.py', 'pattern_matching2.py', 'pdb_example1.py', 'pdb_example2.py', 'pickle1.py', 'pickle2.py', 'pickle_dictionary1.py' , 'pickle_list1.py', 'pickle_test1.py', 'placeing_it_in_context.py', 'plotly.py', 'polymorphism_example.py', 'primeNum1.py', 'privateVar1.py', 'private_variable_naming.py', ' project_scrap1.py', 'pygame_script1.py', 'pygmap1.py', 'pygmap2.py', 'pygmaps.py', 'pymaps1.py', 'python_tricks1.py', 'python_tricks2.py', 'replaceing_string_to_number1. py', 'सीरियलाइज़ेशन वेब ऑब्जेक्ट्स encoder.py', 'serialization web object.py', 'serialization_JSON.py', 'serialization_pickle.py', 'serialization_pickle1.py', 'serialization_pickle2.py', 'serialization_pickle_storing_instances.py', 'serialization_pyaml_file1.py', 'serialization_pyaml_file2.py', 'serialization_pyaml_script1.py', 'serializat ion_unpickle.py', 'serialization_unpickle2.py', 'sets1.py', 'simpy1.py', 'simpy2.py', 'storing_object1.py', 'storing_objects.py', 'termcolor1.py', 'test. py', 'test.txt', 'test1.py', 'test1.txt', 'test123.py', 'test2.py', 'test2.txt', 'test_sample1.py', 'test_sample2.py' , 'test_sample3.py', 'test_sample4.py', 'tkinter1.py', 'tkinter2.py', 'tkinter_firstApp.py', 'try_except_block.py', 'tuple1.py', 'unpickle.py', ' unpickle3.py', 'unpickle_dict1.py', 'unpickle_list1.py', 'variable_arguments_list.py', 'variable_arguments_list1.py', 'winquality1.py', '__init__ Constructor.py']

os.walk()- पुनरावर्ती वंश का उपयोग करना

os.walk () विधि निर्देशिका ट्री में फ़ाइल नाम उत्पन्न करती है।

os.walk (r'C:\Python\Python361\selenium') में रूट, dirs, फ़ाइलों के लिए
आयात करें:फ़ाइलों में फ़ाइल नाम के लिए:प्रिंट (फ़ाइल नाम

आउटपुट

geckodriver.logtest1.pyx_ignore_nofocus.sox_ignore_nofocus.sogetAttribute.jsisDisplayed.js

  1. सी # का उपयोग कर निर्देशिकाओं और फाइलों को सूचीबद्ध करना

    सी # में निर्देशिका वर्ग में निर्देशिकाओं और उप-निर्देशिकाओं पर संचालन करने के कई तरीके हैं - Sr.No विधि और विवरण 1 क्रिएट डायरेक्टरी(स्ट्रिंग) सभी निर्देशिकाओं और उपनिर्देशिकाओं को निर्दिष्ट पथ में बनाता है जब तक कि वे पहले से मौजूद न हों। 2 CreateDirectoryDirectorySecurity(String) निर्दिष्ट

  1. पायथन का उपयोग करके uuencode फ़ाइलों को एन्कोड और डिकोड करें

    फ़ाइल स्थानांतरण के दौरान एन्क्रिप्शन, संपीड़न जैसे विभिन्न कारणों से उन्हें एन्कोड और डीकोड करना एक सामान्य आवश्यकता है या सिर्फ इसलिए कि वे विभिन्न ओएस या फ़ाइल पढ़ने के कार्यक्रमों द्वारा संसाधित होने जा रहे हैं। uuencode मॉड्यूल हमें एन्कोडिंग और डिकोडिंग दोनों फाइलों में मदद करता है जैसा कि नीच

  1. ls फाइलों और निर्देशिकाओं को सूचीबद्ध करने के लिए लिनक्स में कमांड

    ls लिनक्स में कमांड संभवतः उन पहले कमांडों में से एक है जिन्हें आपको कभी भी उपयोग करने की आवश्यकता होती है। इस लेख में, हम कमांड और आमतौर पर इस्तेमाल किए जाने वाले पैरामीटर्स के बारे में जानेंगे। मेरे पसंदीदा विकल्पों का सेट इस प्रकार है: ls -Zaltrh आइए प्रत्येक विकल्प को अलग-अलग देखें, और समझाएं