问题标签 [home-directory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
6542 浏览

python - pwd.getpwnam(username).pw_dir 的 Windows 等效项是什么?

Python pwd 模块提供对getpwnam(3)POSIX API 的访问,该 API 可用于通过用户名获取特定用户的主目录,以及确定用户名是否有效。 pwd.getpwnam如果使用不存在的用户名调用,将引发异常。

起初,似乎可以通过跨平台方式实现相同的结果os.path.expanduser('~username')。但是,对于 Windows XP 上的 Python 2.6,这似乎不会因为不存在的用户名而导致失败。此外,在 Windows XP 上的 Python 2.5 上,即使对于有效用户,它似乎也失败了。

能否在 Windows 上可靠地获取此信息?如何?

0 投票
2 回答
16540 浏览

git - 修复 msysGit Portable $HOME 位置

我已经在我的闪存驱动器上成功安装和配置了 msysGit Portable,并使用它来拉取和推送 GitHub 存储库。但是,我似乎总是不得不对 SSH 支持进行整合。

具体来说,为了让 SSH 找到我的密钥文件,每次运行 git-bash.bat 时,我都必须按照这些说明启动第二个实例,ssh-agent然后启动我的密钥。ssh-add

使用ssh -v git@github.com调试的输出我看到 msysGit 默认到我的 Windows 用户目录来查找密钥。它不能那样做;我需要它在便携式驱动器上查看自己的目录。

如何强制 $HOME 成为程序自己的文件夹?

更新损坏的 Vox 链接

此页面的说明类似于我最初发布的现已损坏的链接。引用如下。另外这里是原始 Vox 文章的网络存档。

但是,如果您尝试这样做并获得:

那么你的会话没有在 ssh-agent 下运行。您可以通过运行以下命令重新启动代理下的新 shell 来解决此问题:

您可以在其中将 bash 替换为您选择的 shell。完成此操作后,您应该能够运行 ssh-add 来加载该 shell 的密钥。

0 投票
1 回答
664 浏览

r - 如何在文件名构造中唤起 R 主目录?

我在 Windows XP 下使用 R。它从 windows 中获取环境变量 HOME,即

但是,如何在文件名中快速使用该变量?特别是,如果我有一个文件存储在H:/tmp/data.txt. 我应该如何构造以下命令?

那一个显然行不通。

我让它工作的唯一方法是:

这太麻烦了,我不得不相信有一种更简单的方法。有谁知道 R 中 HOME 变量的快速调用?

0 投票
2 回答
615 浏览

perl - 本地 cpan 构建

我想为我从 cpan 安装的东西使用一个特定于主目录的非根目录。我该如何配置它?

正常 CPAN 配置尝试将软件包安装到/usr. 添加后'makepl_arg' => q[PREFIX=~/cpan_local],似乎构建了简单的包,但我无法构建拉取其依赖项的包 - 找不到依赖项。

将其更改为 后'makepl_arg' => q[PREFIX=~/cpan_local LIB=~/cpan_local],我收到以下消息:Warning: Prerequisite 'ExtUtils::CBuilder => 0.27' for 'D/DA/DAGOLDEN/Module-Build-0.3607.tar.gz' already installed but installation looks suspicious. Skipping another installation attempt, to prevent looping endlessly.

如何正确配置它?我希望所有内置的东西都能~/cpan_local自动完成。(或者对于熟悉 python 的人,我希望它能够像它一样工作virtual-enveasy_install从中运行)。

0 投票
3 回答
1679 浏览

windows - windows用户配置文件目录的正确使用

我需要在 Windows 用户的“主”目录(c:\Documents and Settings\someusername\c:\users\someusername\)中创建一个目录。该目录将永久存在,但仅包含临时文件。

如果我想成为一个好公民,该目录在用户个人资料中的最佳位置是什么?我应该注意,我的程序将由(可能)非管理员用户运行,并且只需要访问他们自己的配置文件,但他们必须有权创建文件夹。

我想使用My Documents\NameOfMyApp\是可能的,但这似乎是侵入性的。

这种类型的数据是否有更好的位置,以及访问它的特定 MFC 调用?

0 投票
1 回答
1776 浏览

python - 在 OS X 上获取当前用户主目录?

如何在 OS X 上找到当前用户主目录?

HOME并不总是设置环境变量,例如当您不在控制台(GUI 应用程序)中运行时。

os.environ['HOME']出于这个原因,我正在寻找一个通用的解决方案,如果没有设置,它将回退。

有一个类似的问题 (C),但它已经有一个被接受的无效解决方案。

首选 Python 解决方案,但欢迎使用其他语言,只要它们提供有效的家或至少一个您可以编写的位置。

0 投票
4 回答
563498 浏览

python - 在 Python 中获取主目录的正确跨平台方法是什么?

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

但是,这在 Windows 上不起作用。什么是正确的跨平台方式来做到这一点?

0 投票
6 回答
4353 浏览

perl - 如何让 Perl 识别带有 '~' 的路径?

可能重复:
如何在 Perl 中找到用户的主目录?

我正在运行 Ubuntu。

每当我向 Perl 脚本传递一个以~(eg ~/Documents/file.txt) 开头的路径时,它都找不到它。我必须通过规范路径(例如/home/dave/Documents/file.txt)。

这是为什么?

我可以让 Perl 识别~路径吗?

更新

所有建议的解决方案都包括更改脚本中的代码。我想要一个不涉及对脚本本身进行任何更改的解决方案(因为并非所有脚本都是我的)。也许是 Bash 的工作方式?

该问题的更新版本已发布在 Super User

0 投票
2 回答
1860 浏览

linux - Linux:卸载程序后删除应用程序设置?

我正在为 Linux 编写一个程序,它将其数据和设置存储在主目录中(例如 /home/username/.program-name/stuff.xml)。数据可能占用 100 MB 甚至更多。

我一直想知道当系统管理员删除程序时数据和设置会发生什么。然后我应该从每个(!)主目录中删除这些文件,还是应该不理会它们?在主目录中留下数百 MB 似乎很浪费......

0 投票
3 回答
120745 浏览

android - Android 获取应用程序的“主”数据目录

一个简单的问题,与应用程序写入内部存储器时的默认“主”目录有关。默认情况下,创建的任何文件都由操作系统 (2.2) 放置在:

openFileInput()读入文件时,使用相同的默认值,通过,保持适当的上下文openFileOutput()。但是如果我需要检查文件是否存在,例如,使用 File 类,我需要在构造函数中指定整个路径。

我看到有Environment.getDataDirectory()(returns /data)、Environment.getRootDirectory()(returns /system) 等,但与获取应用程序的“主”目录无关。

这不是什么大不了的事,但如果有某种方法可以引用以编程方式创建应用程序的“主”目录。