2016-04-10 5 views
-2

У меня есть файл со списком городов, которые я пытаюсь напечатать, и я не могу заставить их печатать.Попытка распечатать список в python

Код

citylist = open(os.path.join(folderpath, 'Clipped_Cities.dbf')) 
print citylist 

Результат

<open file 'C:\\Users\\Michaelf\\Desktop\\Test_Folder\\LabData\\Clipped_Cities.dbf', mode 'r' at 0x030B6B78> 

Как я могу на самом деле печатать города внутри папки Clipped_Cities.dbf вместо пути?

+0

это файл .dbf файл данных Dbase? – paisanco

+0

Вы пытаетесь напечатать файловый объект вместо этого содержимого. – n1c9

+0

Я не уверен, что это то, что он говорит в свойствах –

ответ

3

Вы близко, но вы пытаетесь напечатать файл-файл вместо этого содержимого файлов, как указано в комментариях @ n1c9.

Необходимо указать разрешения на чтение, а затем выполнить итерацию по файловому объекту.

также несколько вещей,

  • Вместо того чтобы устанавливать переменную файлового объекта, как вы. лучше использовать метод with as, поскольку он избавится от него после того, как вы закончите.

  • Возможно, вы захотите использовать f, так как название объекта является популярным соглашением.

Так,

with open(os.path.join(folderpath, 'Clipped_Cities.dbf'), 'r') as f: 
# Iterate over file... 


Примечание

В случае если вы не хотите, пустые строки между вашим линиям, как указывал @zondo, вы, вероятно, хотите что-то вроде

print line.replace('\n', '') 

Это просто заменяет символ новой строки в строке ''.

Или проще,

print line.rstrip() 
+0

Комментарии не предназначены для расширенного обсуждения; этот разговор был [перемещен в чат] (http://chat.stackoverflow.com/rooms/108761/discussion-on-answer-by-signal-trying-to-print-a-list-in-python). –

Смежные вопросы