Ошибка при попытке открыть список: SyntaxError: неожиданный символ после символа продолжения строки - PullRequest
0 голосов
/ 01 ноября 2018

Я очень новичок в коде и пытаюсь написать скрипт, чтобы открыть другой список. Я продолжаю получать ошибку

SyntaxError: неожиданный символ после символа продолжения строки.

with open(Users/Laura/Desktop/Diss/gene\ list.xlsx) as list_file:
for line in list_file:
    if line.strip():
        keywords.add(line.strip())

Кто-нибудь сможет мне сказать, что я сделал неправильно?

1 Ответ

0 голосов
/ 01 ноября 2018

В первой строке я вижу три проблемы: одну синтаксическую и две логические.

  1. функция open ожидает строку . Поэтому вам нужно добавить одинарные или двойные кавычки вокруг имени файла. Неиспользование их означает, что Python интерпретирует первое «слово» как имя переменной, и после этого оно вроде «…?» потому что остальная часть этой строки не имеет смысла.

  2. Python требует экранирования определенных 'специальных' символов в строке, либо делает их специальными (\n переводит в буквальный символ новой строки), либо remove их особый статус (\\ вставляет только одну обратную косую черту, а не две - это необходимо, потому что сам символ \ является специальным символом). При экранировании любого другого символа \ не удаляется без предупреждения - он остается в строке. Однако это означает, что вы буквально ищете имя файла с этими обратными слешами в них. И у вас нет этого файла.

  3. Вы, очевидно, работаете на машине, похожей на Linux, и пытаетесь получить доступ к одному из ваших локальных файлов. Но поскольку вы не начинаете путь в корневом каталоге вашей файловой системы, он ожидает, что у вас есть папка Users внутри вашей текущей папки (а затем Laura внутри нее и т. Д.). Вам нужно либо добавить одну косую черту в начале, чтобы полный ( абсолютный ) путь был правильным, либо удалить деталь Users/Laura/ и получить относительный путь.

Относительный путь должен предполагать, что ваш текущий рабочий каталог на самом деле /Users/Laura. Если это не так, вы можете заставить Python найти его для вас:)

import os
from os.path import expanduser

home = expanduser("~")
print (home)

должно показать что-то вроде

/Users/Laura

Теперь у вас есть собственный "домашний" каталог, вы можете использовать

with open(home+"/Desktop/Diss/gene list.xlsx") as list_file:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...