在命令行运行 Python 脚本时出现此错误
Windows 无法访问指定的设备、路径或文件。您可能没有适当的权限来访问该项目。
我如何检查系统尝试访问的路径?系统日志(应用程序、安全、设置、系统)中均未创建任何条目。我在网上找到的所有解决方案都提到更改文件的属性。问题是,在这种情况下,我不知道系统尝试使用哪个文件来处理 Python 脚本。我如何找到此信息?我猜一个监控系统尝试打开的所有文件的工具可能会有所帮助。
细节
当我尝试.py
在命令行中通过仅提供脚本名称(如sample.py
)来运行带扩展名的 Python 脚本时,我收到上述错误。我猜问题是由于文件关联不良造成的,但是...运行reg query HKCR\.py /ve
给出(Default) REG_SZ Python.File
并reg query HKCR\Python.File\shell\open\command /ve
给出
(Default) REG_SZ c:\python\2.7\python.exe "%1" %*
文件c:\python\2.7\python.exe
存在,我可以从命令行运行它而不会出现问题。这让我认为系统尝试使用注册表中的其他路径打开 Python 脚本。问题是我不知道这条路径是什么。
Windows Vista 64位,运行64位cmd.exe,64位Python。
编辑
进程监视器非常有用,但我仍然找不到导致问题的确切根源。尝试启动 Python 脚本会生成 866 个条目:
BUFFER TOO SMALL 1
END OF FILE 1
FILE LOCKED WITH ONLY READERS 12
NAME NOT FOUND 301
NO MORE ENTRIES 4
REPARSE 5
SUCCESS 542
没有NO SUCH FILE
结果。我认为这是因为系统甚至没有尝试启动可执行文件来打开 Python 文件,因为无法找到合适的注册表项来定义.py
文件处理程序。有 178 个类型的条目RegQueryKey
和 141 个类型的条目RegQueryValue
,但我很难在阅读它们时得出任何结论。
答案1
进程监视器快速入门
- 打开进程监控。
- 运行您的应用程序并等待错误发生。
- 为您的应用程序创建一个过滤器,通过右键单击显示进程名称您的申请并点击包括“yourapp.exe”。
- 现在看看你得到了什么样的返回值。打开工具菜单并点击计数发生次数。
- 在里面柱子字段,选择结果并击中数数。
- 现在寻找可能与您的问题相关的错误。
我们有 2没有这样的文件错误,听起来很有趣。让我们双击它! - 我们开始吧...