Отчет об ошибке файла скомпилированного расширения в LiClipse Python

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для питона.

Я проверил свой код, и он работает, но когда я попытался запустить его с реальными данными (для которого я создал новую папку, чтобы поместить все файлы, с которыми я буду работать), я получил сообщение об ошибке операционной системы, предлагающее вставить неверный аргумент.

Отчет об ошибке говорит;

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 -> Редактор -> Стиль кода -> Типы файлов, найдите "Допустимые исходные файлы (через запятую)" и добавьте ", log".]

Я сделал это, но я все еще получу отчет OSERROR.

Спасибо за любую помощь

1 ответ

Решение

Я думаю, что проблема в том, чтобы сбежать с \

чередуйте строку в: 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 '\'

(также сделайте это в следующей строке)

Другие вопросы по тегам