2013-10-06 51 views
3

在我的代碼中,如果在處理過程中發現錯誤(在另一段代碼中調用),我希望能夠打印行號,但是我在執行此操作時遇到問題使用line_num對象。這裏是我的一個.csv是4行長碼:Python - 下載CSV模塊和line_num對象

with open(inFile, 'U') as inFH: 
    csvReader = csv.reader(inFH, delimiter = ',') 
    header = csvReader.__next__() 
    lineNum = csvReader.line_num 

    for row in csvReader: 
     print(lineNum) 

當我執行這個代碼,我看到這個控制檯:

1 
1 
1 
1 

我意料的是,我會看到:

1 
2 
3 
4 

它幾乎看起來像代碼打印索引,而不是行號...

回答

10

第一次分配後,不會更改。在循環內打印它會反覆打印相同的值。

爲什麼不打印csvReader.line_num如下?

for row in csvReader: 
    print(csvReader.line_num) 
+0

非常感謝,這做了詭計和明確的解釋! – Seth