3

我有一个连接到我的 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')

当我在命令 propmpt 中运行“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
4

3 回答 3

3

Windows 应用程序兼容性救援。

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

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

  • 组织
  • 和。。分享
  • 兼容文件--->这是你的朋友,点击它。
  • 新建文件夹

Windows 应用程序兼容性功能基本上模拟了某些程序(例如 Cygwin 和 TDA 程序)的环境(例如目录、文件、注册表项)。这些文件用于需要兼容性的程序,但 explorer.exe 等其他程序看不到它。

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

于 2013-11-23T11:55:18.180 回答
1

dir /a:h 将显示“隐藏”文件。

dir /a:s 将显示“系统”文件。

如果您想在 Windows 资源管理器中查看该文件,您可以取消选中“文件查看选项”对话框中的“隐藏受保护的操作系统文件”选项。

您可能想尝试“dir /a:s >files.txt”,然后检查该文件以找出该文件名中是否嵌入了任何不可见字符,并查看您是否有权读取 /更新该文件。否则,您应该能够从 Python 中打开它。

于 2013-08-06T18:50:49.903 回答
0

好的,如果有人有类似的问题 - 这就是我解决我的问题的方法。非常感谢 Curt 和 abarnert 帮助我到达这里。我使命令提示符的行为类似于 cygwin(将 cygwin 路径(对我来说是 c:\cywgin\bin)添加到我的路径变量中),然后我可以使用 os.system() 从我的 python 程序中复制文件。

于 2013-08-08T18:52:58.870 回答