【发布时间】:2013-08-06 18:38:53
【问题描述】:
我有一个连接到我的 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
【问题讨论】:
-
你能用 Cygwin Python 代替原生 Python 吗?那显然可以解决问题……
-
不幸的是我不能,它进入了我无法修改的其他人的代码。
-
等一下……“文件已保存在 USB 设备的闪存中”。所以你的USB设备是
C:?你是怎么做到的? USB设备是否可能实际上是F:,并且由于某种原因Cygwin将其映射到/cygdrive/f而不是/cygdrive/c,所以您只是在本机Windows中查看错误的驱动器号?或者,或者,也许你以某种方式让/cygdrive/c成为 F: over C: 或其他东西的覆盖? -
我真的没有解释,但我能够通过让命令 shell 表现得像 cygwin 来解决我的问题。