- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
python 是否有一个简单的函数来检查一个目录是否是一个实际目录,或者它是否只是另一个目录的别名?我试图列出目录中的所有文件/文件夹,但由于这些别名文件夹,我丢失了如下所示的内容:
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bundle/Home/bundle/Home/bundle/Home/bundle/Home/bundle/Home/bundle/Home/bundle/Home/bundle/首页/bundle/首页/bundle/首页/bundle
我知道我可以编写一个函数来比较路径,如果我似乎在兜圈子就退出,但是有没有一个简单的函数可以准确地完成我不知道的事情?例如。 os.isAlias( ...路径名...)
谢谢!
最佳答案
这是 os.path.realpath
的一个版本,它适用于 Mac 别名以及 Python 2 下的符号链接(symbolic link):
from Carbon import File
def osx_realpath (path):
return File.FSResolveAliasFile(path, True)[0].as_pathname()
如果在递归进入每个目录之前调用 osx_realpath,则应避免重复。或者你可以定义类似的东西
def is_osx_realpath (path):
return path == osx_realpath(path)
然而,在这里您需要担心一些假阴性。如果您筛选 is_osx_realpath 并且您开始的路径是一个别名,您的程序将停止而不查看任何内容。
到目前为止,我不知道在 Python 3 下执行此操作的方法。我有一个问题 here我希望得到答案。现在我不能比使用 subprocess.call 做得更好了至 invoke something that does the check on the command line .
编辑:我应该补充一点,不仅 Carbon.File 在 Python 3 中不可用,而且它已被弃用,因此最好在 Python 2 中避免使用它——但它是我所知道的 Python 2 最实用的解决方案,网址为目前。
编辑 2:这是一种检查文件是否是我认为对 Python 3 友好的别名的方法。但是,我没有解析别名的代码。我相信您需要安装 PyObjC。
from AppKit import NSWorkspace
def is_alias (path):
uti, err = NSWorkspace.sharedWorkspace().typeOfFile_error_(
os.path.realpath(path), None)
if err:
raise Exception(unicode(err))
else:
return "com.apple.alias-file" == uti
( source )
关于macos - python : Check if a directory is an alias,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21192167/
我会在 Cmder 的另一个别名中使用别名。 我有一个很好的别名(第一个)到一个大命令,我会在另一个(第二个)中使用它: mergelocdist=git fetch origin --prune -
我正在尝试让 cgi 在我的本地主机服务器上工作。 首先我添加了虚拟本地主机。 我有 conf 文件/etc/apache2/sites-available/myage.com.conf这是这个文件的
有什么区别: 从'utils'导入utils 和 从“utils”导入 * 作为 utils? 情况 A: //utils.js export function doSomething() { //.
我用 MySQL 试过这个: DELETE FROM `contact_hostcommands_relation` AS `ContactHostCommand` WHERE (`ContactHo
我正在为一个学校项目使用 NodeJS 和 Sequelize,我正在努力与 sequelize 工作建立联系。我之前尝试过一些东西,但没有一个让我开心。 基本上,一个用户可以拥有多个播放列表 (ha
除了 Set-Alias能够更改现存的别名,这些命令之间有什么区别? 为什么会有人用New-Alias在 Set-Alias ? 最佳答案 使用 new-alias 的一个(唯一的?)优势是当您覆盖现
假设 bash 配置了以下别名: alias up="git --git-dir /path/to/backup/.git" 那个特定的存储库 - 并且只有那个存储库 - 具有以下 git 别名: [
我的Sql查询是 Select a.sum_total FROM OneWayNetTransactionRes a LEFT OUTER JOIN OneWayNetTransactionRes b
我可能以错误的方式寻找这个,但有一件事我不明白: select max(dateofbirth) -5 from person; 因此,上面的示例为我提供了任何人的最大日期减去 5 天,正如我所期望的
我有一个 Lambda,它有许多版本,并为每个版本创建了别名。这是一个例子 Apple_Version_1 Apple_Version_1.1 Apple_Version_1.2 Apple_Vers
我使用 win32com 库在本地获取邮件,但现在我使用 Exchangelib 来执行相同的操作,但我找不到与此等效的函数(item.sender.getExchangerUser().Alias)
在我的 .bashrc 文件中,我放入了以下两行: alias foo1="echo $1" alias foo2="echo '$1'" 然后,在终端中,我得到以下输出: $ foo1 hello
只要代码有更新,我就会发布新版本,并为该版本创建别名。但以前的别名在新版本中消失了 这是我的 YAML 模板片段 Description: Publish a new version of a
在我的 Django 项目中,我试图将数据库字段从 OneToOne 更改为foreignKey。当我运行“python manage.py migrate”时,它会因一个长回溯而中断,并以我在标题中
我有一个关于记录的问题:假设我有一个接收记录的函数,如下所示: getId : { file | id : String } -> String getId file = file.id 我可以传递这
我写了这样的语法: grammar StatementFormat { token TOP { ( | '%' )* } token plain { } token plac
这个问题在这里已经有了答案: Creating permanent executable aliases (4 个回答) 8年前关闭。 例如,如果您创建别名: alias cls="clear" 它存
我在我的 iPhone 应用程序中查看一些动画,感觉它有点难看。然后我明白了:它只是不通过子像素状态进行动画处理。 所以,如果我使用通常的+beginAnimations/+commitAnimati
在Elastic / Elasticsearch网站上的Faking Index per User article中,建议对多个(数千个)客户端使用单个索引,并使用过滤器别名以不可见的方式分离其数据。
这可能是一个无聊的问题,但我无法找到我完全理解以下查询的答案。 我搬到了一个新的研究所,我正在访问虚拟机进行研究。我想创建一个方便的 bashrc 让生活更轻松。 因此,使用以下内容编辑 ~/.bas
我是一名优秀的程序员,十分优秀!