我正在编写一个在我的Linux NAS上执行的Python脚本,并进入了有趣的情况。
访问以感叹号(历史记录扩展)开头的文件/目录时出现问题。
import os
path = "/volume1/Images/!Test/DSC_5062.NEF"
os.stat(path)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 2] No such file or directory: '/volume1/Images/!Test/DSC_5062.NEF'
如果我试图逃避感叹号,我会得到以下内容:
import os
path = "/volume1/Images/\!Test/DSC_5062.NEF"
os.stat(path)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 2] No such file or directory: '/volume1/Images/\\!Test/DSC_5062.NEF'
知道该怎么办?顺便说一句,第一个代码片段在我的MacOS机器上运行没有任何问题,但它不能在我的Linux NAS上运行。
如果我在命令行中执行以下操作以提供完整信息,我将获得以下结果。
admin@nas:/tmp$ ls /volume1/Images/!Test/DSC_5062.NEF
-sh: !Test/DSC_5062.NEF: event not found
admin@nas:/tmp$ ls /volume1/Images/\!Test/DSC_5062.NEF
/volume1/Images/!Test/DSC_5062.NEF
感谢您的帮助。
米甲
答案 0 :(得分:-1)
尝试将其放在引号中:
import os
path = "/volume1/Images/"'!'"Test/DSC_5062.NEF"
os.stat(path)