Cygwin看到Windows无法找到的文件-我想从python访问此文件


问题内容

我有一个连接到USB的设备,该设备创建了一个名为Tpolling.log的日志文件。我可以通过Cygwin看到它,但无法通过Windows看到它(隐藏文件设置为始终显示)。我也无法从python访问它。

我希望能够在python中读取它,但是python找不到它。

起作用的cygwin路径是

  /cygdrive/c/Program Files (x86)/TDA

ls表示有一个名为Tpolling.log的文件

$ cygpath -w "/cygdrive/c/Program Files (x86)/TDA"
C:\Program Files (x86)\TDA

但是,以下给出了错误,提示没有Tpolling.log这样的文件。我检查了其他文件的基本路径。

f= open("C:\\Program Files (x86)\\TDA\\TPolling.log",'r')

当我在命令提示符中运行“
Dir”时,Windows无法看到文件Tpolling.log。该文件保存在USB设备的闪存中,我没有要求cygwin挂载它,因此我不确定cygwin如何看到它。

除了从cygwin运行python程序以外,如何从python访问它?

这是来自cygwin-的文件权限

    drwx------+ 1 SYSTEM         SYSTEM             0 Jul 23 11:27 .
    drwx------+ 1 Administrators None               0 Jul 23 14:39 ..
    -rwx------+ 1 SYSTEM         SYSTEM        684032 Dec 27  2010 NationalInstruments.UI.Design.dll
    -rw
    -rwx------+ 1 SYSTEM         SYSTEM          1078 Jan  3  2010 TDAT.ico
    -rwx------+ 1 lab    Domain Users 2920041 Aug  6 14:50 TPolling.log
    -rwx------+ 1 SYSTEM         SYSTEM         65536 Dec 27  2010 Winsoft.ComPort.dll

问题答案:

Windows应用程序兼容性抢救。

您可以在C:\ Users \ USERNAME \ AppData \ Local \ VirtualStore \ Program
Files(x86)\ TDA \ TPolling.log下找到日志文件

例如,如果您导航到C:\,则可能会在资源管理器中看到以下按钮:

  • 组织
  • 和。。分享
  • 兼容性文件—>这是您的朋友,单击它。
  • 新建文件夹

Windows应用程序兼容性功能在后台模拟某些程序(例如Cygwin和TDA程序)的环境(例如目录,文件,注册表项)会发生什么情况。这些文件用于需要兼容性的程序,但是其他程序(例如explorer.exe)看不到。

我以为我的机器上有一些rootkit,因为我看到的是来自cygwin的文件,而不是来自Explorer的文件。至少事实证明这些文件不是rootkit的一种:)