【问题标题】:Is there a way to discover the user's Windows Desktop path using Python?有没有办法使用 Python 发现用户的 Windows 桌面路径?
【发布时间】:2017-07-14 19:12:51
【问题描述】:

我正在编写用于抓取特定文件夹中包含的文件的脚本。

为了消除修改用户工作目录的静态路径的需要,脚本是否有办法发现用户的操作系统版本(Windows 版本或 Linux)以及各自的桌面文件路径?

【问题讨论】:

  • 你要走哪条路?
  • 您的问题不够详细,也没有显示出您的大量搜索工作。请考虑查看网络,然后返回此处提供失败的代码尝试。
  • 如果您只想了解操作系统,请使用sys.platform。而且你的问题没有提供足够的细节
  • Coldspeed - 环境正在运行多个不同的操作系统。从 Vista 到 Windows 10 的一切。我希望找到一种方法来动态了解桌面路径变量的设置。 (即 Windows 桌面)。由于我已经能够在 Linux 中找到主目录,因此我也在尝试弄清楚如何确定正在运行的操作系统并根据环境构建不同的配置设置。

标签: python linux windows python-3.x


【解决方案1】:

您可以使用'HOMEPATH' 环境变量,因此完整的'Desktop' 位置将是

os.path.join(os.environ['HOMEPATH'], 'Desktop')

【讨论】:

  • 感谢 CoryKramer!这正是我要问的。
  • 用户或管理员可以重新定位“桌面”文件夹。正确的实现使用 Windows API 来查询位置,FOLDERID_Desktop 或旧的CSIDL_DESKTOP
  • 另外,默认桌面位置是%USERPROFILE%\Desktop,因为USERPROFILE 的值是固定的。环境变量HOMEDRIVEHOMEPATH 可以引用用户帐户配置文件中定义的不相关目录。在某些情况下(例如 runas.exe 或使用 S4U 登录运行的计划任务),它们的值要么是错误的(例如指向 %SystemRoot%\System32),要么甚至没有定义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-17
相关资源
最近更新 更多