Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでディレクトリとファイルを一覧表示しますか?


Pythonでディレクトリとファイルを一覧表示する方法はいくつかあります。

ディレクトリ内のファイルの一覧表示

特定のパスからすべてのファイルまたはディレクトリを取得する最も簡単な方法の1つは、os.listdir()メソッドを使用することです。

 import osfor x in os.listdir('。'):print(x)

結果

.pytest_cache4forces.jsonannotation1.pyasyncWrite.txtattribute_access.pybackground_process.pybackground_process2.pyBeautifulSoup_script1.pybottle_exampl1.pybottole_test1.pybuildbuilt-in_funct.pycallable_objects1.pycars.csvclasses_instance.pybuildbuilt-in_funct.pycallable_objects1.pycars.csvclasses_instance.py>> 

上記のコードは、現在の作業ディレクトリのファイルとディレクトリのリストを示しています。特定のディレクトリのファイルとディレクトリを一覧表示する場合は、絶対パス名を渡すだけです。

 os.listdir(r'C:\ Python \ Python361 \ selenium')にosfor xをインポート:print(x)

結果

 geckodriver.logtest1.pywebdriver 

結果は、フォルダ階層に似ています-

Pythonでディレクトリとファイルを一覧表示しますか?

上記の出力は、出力がファイル、ディレクトリ、リンクなどであるかどうかを示すものではありません。エントリがファイル、ディレクトリなどであるかどうかを確認する場合は、以下に示すようにos.path.isfile()を使用できます。

import os

 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):print('link-'、x)else:print('---'、x)

出力

 directory- .pytest_cachefile- 4forces.jsonfile- annotation1.pyfile- asyncWrite.txtfile- attribute_access.pyfile- background_process.pyfile- background_process2.pyfile-BeautifulSoup_script1.pyfile-bottle_exampl1.pyfile-bottole_test1.pydirectory-buildfile-built-in_funct。 pyfile-callable_objects1.pyfile-cars.csvfile-classes_instance.pyfile-class_attributes.pyfile-class_attributes1.pyfile-code_gmplot.pyfile-config.pyfile-data1.jsonfile-datafile.txtfile-dataworkfile-data_pandas1.csvfile-data_pandas1.xlsxfile-デバッガーpyfile-debugging_timeit1.pyfile-debugging_timeit2.pyfile-define_class.pyfile-directoryTreeStruc.pydirectory- distdirectory- djangodirectory- DLLsdirectory-Docfile-dynamic_array_implementation.py 

filter()を使用して特定のパスからファイルを収集するワンライナーを持つことができます-

 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 '、' finally_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.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 ' 、'built-in.pyから継承'、'built-in1.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'、' placing_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'、' replace_string_to_number1.py'、'シリアル化Webオブジェクトencoder.py'、'シリアル化webobjects.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'、' sets1.py'、' simpy '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'、 'finally.txt'、'LICENSE.txt'、'NEWS.txt'、'out.txt'、'test.txt'、'test1.txt'、'test2.txt'] 

もう1つの方法は、正規表現を使用することです-

 import 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'、' Built-in.pyからの継承'、'built-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'、'placing_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'、'シリアル化Webオブジェクトencoder.py'、'シリアル化webobjects.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()メソッドは、ディレクトリツリーにファイル名を生成します。

 import osfor root、dirs、files in os.walk(r'C:\ Python \ Python361 \ selenium'):for filename in files:print(filename 

出力

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

  1. Pythonを使用してuuencodeファイルをエンコードおよびデコードします

    暗号化、圧縮などのさまざまな理由で、または単に異なるOSまたはファイル読み取りプログラムによって処理されるために、ファイル転送中にそれらをエンコードおよびデコードすることは、一般的な要件です。 uuencodeモジュールは、以下に示すように、ファイルのエンコードとデコードの両方に役立ちます。 ファイルをエンコードする 以下の画像をエンコードに使用し、後でデコードして元に戻します。 以下のプログラムでは、encode関数を使用して、指定された画像をエンコードし、エンコード後にファイルの内容を読み取ります。 例 import uu infile = "E:\\tp_logo.

  2. ファイルとディレクトリを一覧表示するLinuxのlsコマンド

    ls Linuxのコマンドは、おそらく最初に使用する必要のあるコマンドの1つです。この記事では、コマンドと一般的に使用されるパラメータについて説明します。 私が好むオプションのセットは次のとおりです。 ls -Zaltrh 各オプションを個別に掘り下げて、オプションのグロブ全体が役立つ理由を説明しましょう。 LinuxLSコマンド構文 #ls [OPTION] [FILE] OPTIONS: [-a], do not ignore entries starting with . or .. [-h], with -l, print sizes in human readable form