2015-12-06 388 views
-1

我只是關於python及其語法的一些信息性問題。我有5000行的CSV文件,我讀它,將它打印到屏幕這樣python閱讀csv文件

for i in range(5): 
    print csv_file.readline(), 
  1. 那有什麼尾隨逗號呢?我的意思是我可以看到它對輸出的影響,但我想知道的是它爲什麼這樣做。

  2. 每次運行此代碼時,它都會讀取五行的下一個增量。我覺得好奇,因爲我會認爲它總是會讀取相同的五行。所以python以某種方式跟蹤它在文件中的位置?

感謝您的任何見解。

回答

2

實施例:

for i in range(3): 
    print i 
print "---" 
for i in range(5): 
    print i, 

結果:

0 
1 
2 
--- 
0 1 2 3 4 
  1. 爲 「打印」 的關鍵字的正常行爲是,它增加了什麼被打印所以後換行符 「\ n」 個下一份印刷的聲明已在新的一行上。但是,您的csv文件在每行的末尾還有「\ n」。所以你最初有「\ n \ n」。逗號表示不應將新行字符添加到打印語句中,因此您只能從csv文件獲取換行符。

  2. 只要線程正在執行且文件句柄未關閉,文件句柄(handle = open('myFile'))就會跟蹤文件位置。一旦使用「csv_file.close()」並重新打開文件,它將從文件的開頭開始。如果腳本完成執行並關閉,它還將關閉所有打開的文件句柄,隨後的執行將從文件的開始處開始。我唯一能想到的不是這種情況,如果你從一個繼續運行的不同線程獲取「csv_file」。

+0

非常感謝你對此非常清楚的解釋。 – MJMacarty