Чтение и печать файла с помощью Python

#python #file

#python #файл

Вопрос:

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

 openfile= open("//d//acadia//smartens//members","r ")
print (members.txt) 
  

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

 openfile= open("//d//acadia//smartens//members","r ")
print (//d//acadia//smartens//members)
  

Я использую Linux, Emacs и SDSS amp; GALEX data.

Я хотел бы получить несколько предложений и примеров простых кодов, подобных этому, вместе с объяснениями того, почему я получаю эти сообщения об ошибках. Также, когда мне нужно указать, что это текстовый файл? Большое вам спасибо.

Комментарии:

1. Я настоятельно рекомендую начать с руководства по Python , особенно с раздела «Чтение и запись файлов» , когда вы до него доберетесь.

Ответ №1:

Вы можете попробовать следующий код и посмотреть, работает ли он лучше:

 import sys
with open('/d/acadia/smartens/members') as file:
    for line in file:
        sys.stdout.write(line)
  

Кроме того, если возвращается следующая строка False , значит, ваш путь неверен:

 os.path.exists('/d/acadia/smartens/members')
  

Комментарии:

1. Это сработало, спасибо! Можете ли вы объяснить, почему это правильный способ сделать это? Почему потребовался ‘import sys’? Что означает «стандартный вывод»? И почему вместо команды печати использовалась ‘write (line)’?

2. Разница между write и print незначительна. write не добавляет новую строку, что здесь удобно.

3. Нет необходимости делать это таким образом; альтернативы, которые @noctis демонстрирует вам, имеют некоторые преимущества, но на самом деле это дело вкуса. Внимательно посмотрите, как были записаны пути к файлам, и прочитайте руководство по python , чтобы получить ответы на все ваши последующие вопросы.