2016-04-10 12 views
-2

Yazdırmaya çalıştığım şehirlerin bulunduğu bir dosyam var ve bunları yazdırmam.Python'da bir liste yazdırmaya çalışıyor

Kod

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

Sonucu

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

nasıl aslında klasörün Clipped_Cities.dbf yerine yolunun içindeki şehirleri yazdırabilirsiniz?

+0

.dbf dosyası bir dBase veri dosyasıdır? – paisanco

+0

Bu dosya içerikleri yerine bir dosya nesnesi yazdırmaya çalışıyorsunuz. – n1c9

+0

Burada, –

cevap

3

Siz yakınsınız, ancak yorumlar içinde @ n1c9 tarafından belirtilen dosya içerikleri yerine bir dosya nesnesi yazdırmaya çalışıyorsunuz.

citylist = open(os.path.join(folderpath, 'Clipped_Cities.dbf'), 'r') 
for line in citylist: 
    print line 

Daha sonra, okuma izinleri belirtmek dosya nesnesi üzerinde yinelemek gerekiyor. Bunun yerine senin gibi dosya nesnesine bir değişken ayarlama Ayrıca

birkaç şey

,

  • . İşiniz bittikten sonra kurtulmak için with as yöntemini kullanmak daha iyidir.

  • Nesnenin adı popüler bir kural olarak f kullanmak isteyebilirsiniz.

Yani,

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


Not

@zondo tarafından işaret edildiği gibi size satır aralarında boş satırlar istemiyorsanız, muhtemelen istiyorsanız

print line.replace('\n', '') 
gibi bir şey yapmak 10

Bu, '' ile dizedeki yeni satır karakterini değiştirir.

Veya daha basit,

print line.rstrip() 
+0

Yorumlar uzun tartışma için değil; Bu sohbet [sohbet etmek için taşındı] (http://chat.stackoverflow.com/rooms/108761/discussion-on-answer-by-signal-trying-to-print-a-list-in-python). –