📜  在 python 中获取目录(1)

📅  最后修改于: 2023-12-03 15:23:16.595000             🧑  作者: Mango

在 Python 中获取目录

在 Python 中,可以使用 osos.path 模块来获取目录。下面让我们来介绍一些基本操作。

获取当前工作目录

使用 os.getcwd() 函数可以获取当前工作目录。

import os

cwd = os.getcwd()
print(cwd)

结果:

/home/user
改变当前工作目录

使用 os.chdir() 函数可以改变当前工作目录。

import os

os.chdir('/home/user/new_folder')
获取某一目录下所有文件和子目录

使用 os.listdir() 函数可以获取某一目录下所有文件和子目录。

import os

folder_path = '/home/user'
all_files = os.listdir(folder_path)

for file in all_files:
    print(file)

结果:

file1.txt
file2.txt
folder1
folder2
只获取某一目录下的文件

可以使用 os.path.isfile() 函数判断是否为文件,只获取某一目录下的文件。

import os

folder_path = '/home/user'
all_files = os.listdir(folder_path)

for file in all_files:
    file_path = os.path.join(folder_path, file)
    if os.path.isfile(file_path):
        print(file)

结果:

file1.txt
file2.txt
只获取某一目录下的子目录

可以使用 os.path.isdir() 函数判断是否为目录,只获取某一目录下的子目录。

import os

folder_path = '/home/user'
all_files = os.listdir(folder_path)

for file in all_files:
    file_path = os.path.join(folder_path, file)
    if os.path.isdir(file_path):
        print(file)

结果:

folder1
folder2
递归获取某一目录下所有文件

可以使用 os.walk() 函数递归地获取某一目录下所有文件和子目录。

import os

folder_path = '/home/user'

for root, dirs, files in os.walk(folder_path):
    for file in files:
        print(os.path.join(root, file))

结果:

/home/user/file1.txt
/home/user/file2.txt
/home/user/folder1/file3.txt
/home/user/folder2/file4.txt

以上就是在 Python 中获取目录的方法。