難しいことはできませんが、私は精神的なブロックを抱えています。
難しいことはできませんが、私は精神的なブロックを抱えています。
回答:
一方通行:
import os
os.listdir("/home/username/www/")
別の方法:
glob.glob("/home/username/www/*")
上記のglob.glob方法では、隠しファイルはリストされません。
私が最初にこの質問に最初に回答してから、pathlibがPythonに追加されました。ディレクトリをリストするための私の好ましい方法は、通常iterdir、Pathオブジェクトに対するメソッドを含みます:
from pathlib import Path
print(*Path("/home/username/www/").iterdir(), sep="\n")
['c:\\users']
glob.glob(r'c:\users\*')(globは実際にはディレクトリをリストしませんが、アスタリスクなどを展開して同様のタスクを実行します)。
glob.globまたはそれos.listdirを行います。
import globENTER glob.glob(r'c:\users')ENTERは戻るよう['c:\\users']です。何故ですか?glob.globを使用したいのは、他のユーザーが指摘したように、隠しファイルも無視して、ディレクトリの内容を返すと考えられるためです。これは重要。
glob:glob.glob(r'c:\users\*')
Python 3.5以降では、を使用できますos.scandir。
違いは、名前ではなくファイルエントリを返すことです。Windowsのような一部のOSでは、それos.path.isdir/fileがファイルかどうかを知る必要がないことを意味します。これはstat、Windowsでdirをスキャンするときにすでに行われているため、CPU時間を節約できます。
ディレクトリをリストしてmax_valueバイトよりも大きいファイルを出力する例:
for dentry in os.scandir("/path/to/dir"):
if dentry.stat().st_size > max_value:
print("{} is biiiig".format(dentry.name))
以下のコードは、ディレクトリとディレクトリ内のファイルをリストします。もう1つはos.walkです。
def print_directory_contents(sPath):
import os
for sChild in os.listdir(sPath):
sChildPath = os.path.join(sPath,sChild)
if os.path.isdir(sChildPath):
print_directory_contents(sChildPath)
else:
print(sChildPath)
.XYZUnixファイルシステムコンテキスト内のファイルを意味すると思います)を一覧表示しますglob.glob("/home/username/www/.*")か?