如何使用python访问Linux的下载文件夹?



在ubuntu中,下载文件夹位于home\ubuntu\downloads中,但我不知道不同的发行版是否有相同的"风格";(例如home\arch\Downloads(。是否存在";通用路径";适用于所有发行版?对于任何想知道我需要在下载中创建一个新目录的人。

在Linux上,您可以使用freedesktop.org项目中的xdg-user-dir。它应该适用于所有最近的桌面环境(KDE、Gnome等(和所有最近的发行版:

import shutil
import subprocess
xdg_bin = shutil.which('xdg-user-dir')
process = subprocess.run([xdg_bin, 'DOWNLOAD'], stdout=subprocess.PIPE)
download_path = process.stdout.strip().decode()
print(download_path)
# Output:
/home/corralien/Downloads

如果您有Python 3.7或更高版本,则可以使用capture_output=True参数而不是stdout参数。

您的"主目录";(功能类似于Windows上的C:UsersYOUR_USERNAME(位于大多数Linux发行版的/home/YOUR_USERNAME,下载文件夹通常位于此处。最确定获得正确目录的方法是使用pathlib.Path.home():

from pathlib import Path
downloads_path = str(Path.home() / "Downloads")

取自这个答案

最新更新