1
doc_holder_str = ''
sample_H_value = open("C:\testGupixwin\BX-N-H.HED", "r")
standard_conc_value = open("C:\testGupixwin\gupixwin_H_stdConc.txt", "r")
sample_H_value_str = sample_H_value.readline()
while sample_H_value_str is not '' :
    stripper_sample_H = float(sample_H_value_str[5:].lstrip(' '))

我正在尝试编写一段代码(如上所示),它读取一些值,对其进行一些计算并返回所述值。我正在使用LiClipse IDE, for python。

我已经测试了我的代码并且它可以工作,但是当我尝试使用真实数据运行它时,(为此我创建了一个新文件夹来放入我将使用的所有文件)我收到一个操作系统错误,提示我插入了一个无效的争论。

错误报告说;

Traceback (most recent call last):
File "C:\Python34\workspace\Gupixwin_Project.py", line 11, in <module>
sample_H_value = open("C:\testGupixwin\BX-N-H.HED", "r")
OSError: [Errno 22] Invalid argument: 'C:\testGupixwin\\BX-N-H.HED'

点击C:\testGupixwin\\BX-N-H.HED它会弹出一个消息框建议,我引用,

该定义位于 C:\testGupixwin\BX-NH.HED,(无法打开,因为它是已编译的扩展)

我必须指出,我觉得错误是系统看到 ...\\BX-N.... 而不是 ..\BX-N... 我期望的。

有人建议我这样做

[打开窗口 -> 首选项,转到 PyDev -> 编辑器 -> 代码样式 -> 文件类型,查找“有效源文件(逗号分隔)”并附加“,日志”。]

我已经这样做了,但我仍然收到 OSERROR 报告。

感谢您的帮助

4

1 回答 1

0

我认为问题在于逃避\

将字符串替换为:open("C:\testGupixwin\BX-N-H.HED", "r") 与:

open( r"C:\testGupixwin\BX-N-H.HED", "r" ) #rawstring
# or 
open( "C:\\testGupixwin\\BX-N-H.HED", "r" ) #escaping the '\' with '\'

(也在以下行中执行此操作)

于 2018-02-15T11:34:07.570 回答