我有一些python代码可以打开一个文件来读取它......
with open("file.txt") as f:
print(f.read())
在MacOS上,如果file.txt
是符号链接 - Python将遵循符号链接并读取目标文件。但是,在Windows上它没有这样做 - 我怎么能实现这个目标?
(使用Python 3.6.5和Windows 10) 重现的步骤。
FileA.txt
中创建DirectoryA
以上DirectoryB
DirectoryB
内,运行mlink FileA.txt "../FileA.txt"
FileA.txt
DirectoryB
链接进行阅读和打印
醇>
预期行为:
FileA.txt
内DirectoryA
的内容应打印
实际行为:
OSError: [Errno 22] Invalid argument: 'FileA.txt'
答案 0 :(得分:1)
还有其他问题。我强烈怀疑你没有从包含 return new ModelAndView("member2",map);
的目录中运行它。
我正在使用Windows 10和Python 3.6。
这里我正在创建一个文件(使用可靠的记事本)。我在第一行中添加了一些文本到文件,并验证它存在于第二行。
return new ModelAndView("/member2",map);
现在到了python ......
file.txt
这对我有用。为了帮助您,需要更多细节,但就目前而言,您的问题是不可重复的。
现在您已经按照确切的步骤更新了问题,我可以准确地告诉您出了什么问题。
但首先 - 尝试在记事本(或其他任何东西)中打开该文件。
它不会打开 - 相反它会给文件错误。
这是因为你给它的路径。 Windows使用cd c:\
notepad test.txt
mklink other.txt test.txt
notepad other.txt
作为目录分隔符 - 但您已使用f = open("C:\\other.txt")
f.read()
创建符号链接。此符号链接指向无效的文件名。 Python很适合(跨平台)为你转换它 - 但是Windows没有这样的东西。
再次尝试使用说明 - 但这次使用\
答案 1 :(得分:0)
我不做MS Windows。但这可能会有所帮助:http://winshell.readthedocs.io/en/latest/shortcuts.html
您的MS Windows版本是否真的支持符号链接?或者您正在处理这些“快捷方式”(Shell链接)?它实际上是否有.lnk扩展名?