当前位置: 首页 > 面试题库 >

如何在Python中获取主目录?

龚远
2023-03-14
问题内容

我需要获取当前登录用户的主目录的位置。当前,我在Linux上一直使用以下命令:

os.getenv("HOME")

但是,这在Windows上不起作用。正确的跨平台方法是什么?


问题答案:

您要使用os.path.expanduser。
这将确保它可在所有平台上运行:

from os.path import expanduser
home = expanduser("~")

如果您使用的是 Python 3.5+
,则可以使用pathlib.Path.home():

from pathlib import Path
home = str(Path.home())


 类似资料:
  • 问题内容: 我需要一种在Linux上运行的C ++程序中获取用户主目录的方法。如果相同的代码可以在Unix上运行,那就太好了。我不想使用HOME环境值。 AFAIK,根主目录是/ root。如果我的程序是由root用户运行的,可以在该目录中创建一些文件/文件夹吗? 问题答案: 您需要获取当前用户的用户ID,然后获取该用户的密码条目(包括主目录): 注意:如果您在线程化应用程序中需要此功能,则可以改

  • 问题内容: 我正在尝试编写一个简单的Python脚本,它将所有子目录中的index.tpl复制到index.html(有一些例外)。 通过尝试获取子目录列表,我陷入了困境。 问题答案: 我对各种功能进行了 速度测试 ,以将 完整路径 返回到所有当前子目录。 tl; dr: 始终使用: 奖励:使用,您也可以只使用而不是来获取文件夹名称。 该函数(以及下面的所有其他函数)将不会使用 自然排序 。这意味

  • 问题内容: 我想在pyspark中使用matplotlib.bblpath或shapely.geometry库。 当我尝试导入其中任何一个时,出现以下错误: 我知道该模块不存在,但是如何将这些软件包带到我的pyspark库中? 问题答案: 在Spark上下文中,尝试使用: ,引用文档: 为将来要在此SparkContext上执行的所有任务添加.py或.zip依赖项。传递的路径可以是本地文件,HDF

  • 问题内容: 我必须知道按了什么键,但不需要字符的代码,我想知道何时有人按下“ A”键,即使获得的键是“ a”或“ A”,等等。 。 我不能使用PyGame或任何其他库(包括Tkinter)。仅Python标准库。这必须在终端而不是图形界面中完成。 不需要字符代码。我需要知道关键代码。 例如: 问题答案: 请参阅tty标准模块。它允许使用tty.setcbreak(sys.stdin)从默认的面向行

  • 问题内容: function foldersize($path) { $total_size = 0; $files = scandir($path); 在脚本执行完成之前,为什么处理器使用率会过高或100%升高?可以做些什么来优化它吗?还是有其他方法可以检查文件夹和其中的文件夹大小? 问题答案: 以下是其他地方提供的其他解决方案: 如果在Windows主机上: 否则,如果在Linux主机上:

  • 本文向大家介绍Python如何获取文件路径/目录,包括了Python如何获取文件路径/目录的使用技巧和注意事项,需要的朋友参考一下 一、获取文件路径实现 1.1 获取当前文件路径 __file__变量其实有个问题,当文件被是被调用文件时__file__总是文件的绝对路径;但当文件是直接被执行的文件时,__file__并不总是文件的绝对路径,而是你执行该文件时给python传的路径。比如你是pyth

  • 问题内容: 我正在尝试使用Flask构建一个简单的API,现在我想在其中读取一些。我使用扩展程序进行,而我发布的就是。我尝试使用以下方法读取JSON: 在浏览器上,它可以正确返回我放入GET中的UUID,但是在控制台上,它只是打印出来(我希望它可以在其中打印出来。有人知道我如何从方法中获取发布的吗? 问题答案: 首先,该.json属性是一个委托给的属性,该属性记录了您None在此处看到的原因。 您

  • 问题内容: 我有一个多线程Python程序和一个实用程序函数,该函数写出时间戳记和消息。不幸的是,结果日志文件没有给出哪个线程正在生成哪个消息的指示。 我希望能够在消息中添加一些内容,以标识哪个线程正在调用它。显然,我可以使线程将这些信息传递进去,但这将需要更多的工作。是否有一些我可以使用的等效线程? 问题答案: ,或者(或对于Python <2.6)。