2015-12-06 392 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