无法使用win32 dir命令和Python子进程查看文件

2024-10-01 02:22:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图读入一个文件并生成该文件的哈希值。在很大程度上,这一切进展顺利。但是,有一些文件我无法获取句柄。例如:

file("c:\\windows\\system32\\nvvsvc.exe")

产生错误:IOError: [Errno 2] No such file or directory: 'c:\\windows\\system32\\nvvsvc.exe

同样,命令:

^{pr2}$

产生错误:

File Not Found

Traceback (most recent call last):

File "< stdin >", line 1, in < module >

File "C:\Python27\lib\subprocess.py", line 544, in check_output

raise CalledProcessError(retcode, cmd, output=output)

subprocess.CalledProcessError: Command 'dir c:\windows\system32\nvvsvc.exe' returned non-zero exit status 1

我尝试了很多不同的方法,包括尝试cacls.exe文件承认那里有档案。{I}实际上是返回了一个python的exit}(exit),当它返回一个文件时。在

类似的测试使用计算.exe相反,允许我从python内部查看和散列它。在

我运行的是python2.7。我尝试使用管理权限启动python(以管理员身份运行命令提示符),但这不会改变任何东西。当从python内部运行时,权限似乎发生了一些变化,以至于文件系统实际上是在假装python不存在文件。在

作为参考,有问题的文件的所有者(还有其他类似的文件)是system,文件上的cacl允许从user、admin和system读取它。在


Tags: 文件inoutputwindows错误lineexitexe
2条回答

简单的回答!(但不一定很容易找到)关于IOError,这是因为您不需要转义反斜杠。在

第二部分看起来像是权限错误,如上面的注释所述。在

如果这是64位系统,请尝试以下操作:

subprocess.check_output(r"c:\windows\SysNative\nvvsvc.exe", shell = True)

这里的关键是“SysNative”

相关问题 更多 >