I'm trying to write a very basic script that will take a input file name and simply count the number of lines in the file, and print it to CMD. I am getting double the number of lines that are actually in the file when I run it though.
import sys
filename = sys.argv[-1]
with open(filename,) as f:
LineCount = len(f.readlines())
print(LineCount)
input("Press Enter to close...")
The text file is 208 lines long, I am getting 417 back. Here is what the file looks like. It just repeats from here on out.
Asset Name In Point Description
Zach And Jenv4 00:00:13:11
Zach And Jenv4 00:00:14:54
Zach And Jenv4 00:00:16:37
Zach And Jenv4 00:00:18:20
Zach And Jenv4 00:00:20:03
Zach And Jenv4 00:00:21:45
Zach And Jenv4 00:00:23:28
Zach And Jenv4 00:00:25:11
Zach And Jenv4 00:00:26:54
Zach And Jenv4 00:00:28:36
Zach And Jenv4 00:00:30:20
Zach And Jenv4 00:00:32:03
Zach And Jenv4 00:00:33:45
Zach And Jenv4 00:00:35:28
Zach And Jenv4 00:00:37:11
Zach And Jenv4 00:00:38:54
Zach And Jenv4 00:00:40:37
Zach And Jenv4 00:00:42:20
Zach And Jenv4 00:00:44:03
Zach And Jenv4 00:00:45:44
Zach And Jenv4 00:00:47:28
Zach And Jenv4 00:00:49:11
Zach And Jenv4 00:00:50:54
CodePudding user response:
Here's a likely explanation, but OP should look at f.readlines() content to be sure.
The file has \r\r\n line termination and the default for open is to translate \r, \n, and \r\n each to a newline when reading, so \r\r\n gets translated to \n\n. 
