这可能是超级容易,但经过一个小时的尝试,我还没有能够找到它。
从一个名为/Database/Images/
的数据库中的特定文件夹中,我手动创建了一个与Windows的文件夹链接,并将其放置在/Tests/Images
中。
完成后,我在/Tests
文件夹中创建了一个python脚本,并尝试使用它来访问/Tests/Images
链接中的文件。
如何从链接/Tests/Images
获取/Database/Images/
中的数据?
问题是我不能使用os.listdir()
,因为它不是一个目录,但我似乎也找不到方法来知道/Tests/Images
实际上是指向/Database/Images/
到目前为止,我已经尝试了几个os
函数,但
os.listdir()
返回/Tests/Images
不是目录os.path.islink()
返回Falseos.path.realpath()
和os.path.abspath()
返回/Tests/Images
,而不是/Database/Images/
1条答案
按热度按时间tjvv9vkg1#
看起来你可能正在处理一个Windows快捷方式(.lnk)文件,而不是一个符号链接(我将在后面的回答中提到如何实现)。你提到的os模块函数是设计用于符号链接的,而不是Windows快捷方式。
您可以使用
pylnk3
包来使用Windows快捷方式。您可以使用pip安装它:pip install pylnk3
.下面是一个如何使用它的例子:此脚本定义了一个函数
get_shortcut_target()
,该函数使用pylnk3
从Windows快捷方式文件中解析目标路径。然后,您可以将os.listdir()
与目标路径一起使用,以列出目标目录中的文件。如果你想创建一个符号链接而不是Windows快捷方式,你可以使用命令提示符中的
mklink
命令(具有管理员权限)或Python中的os.symlink()
函数。创建符号链接的语法是
mklink /D link_path target_path
。/D标志用于创建目录符号链接。例如:此命令将在
C:\Tests
目录中创建一个名为Images的符号文件夹链接,指向C:\Database\Images
目录。下面是如何使用python创建符号链接(请记住,您需要以管理员权限运行它,否则您将获得
PermissionError
)