擅长:python、mysql、java
<p>如果不每次都倒带文件以确保您确实在最后一行,那么您要做的是很难完成的。如果您知道每行大约有多少个字符,那么您可以使用一个快捷方式我的csv.seek(-结束-buf,操作系统搜索结束),如<a href="https://stackoverflow.com/a/3346492/2701363">this answer</a>所述。所以你的代码可以这样工作:</p>
<pre><code>avg_len = 50 # use an appropriate number here
end_buf = 3 * avg_len / 2
filename = 'NTS.csv'
mycsv = open(filename, 'r')
mycsv.seek(-end_buf, os.SEEK_END)
last = mycsv.readlines()[-1]
while 1:
time.sleep(1)
mycsv.seek(-end_buf, os.SEEK_END)
line = mycsv.readlines()[-1]
if not line == last:
arr_line = line.split(',')
var3 = arr_line[3]
print (var3)
</code></pre>
<p>在这里,在while循环的每次迭代中,您都会寻找一个靠近文件末尾的位置,只要足够远,您就可以确定最后一行将包含在剩余的内容中。然后你读所有剩下的行(这可能包括第二行或第三行到最后一行的部分内容),并检查最后一行是否与之前的不同。在</p>