我是python的新手-在下面的脚本中,我将变量Connection conn = null;
String url = "jdbc:mysql://localhost/";
String dbName = "someDb";
String driver = "com.mysql.jdbc.Driver";
String userName = "root"; String password = "password";
try { Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password); System.out.println("Connected to the database"); conn.close(); System.out.println("Disconnected from database"); } catch (Exception e) { System.out.println("NO CONNECTION =("); } }
设置为0,然后遍历了csv文件的每一行。当计数达到5时,我想停止编写脚本,并且确实如此。
但是,在这种情况下,我知道csv中的行数是5。如果我不知道行数怎么办?我已经注释掉了两行,我试图用它们来给我count
,然后使用row_count
变量代替(共5)。但是,当我取消对这两行的注释,脚本仅在row_count
处停止。我在这里做错什么了,如何进一步使用print(row_count)
变量,以便row_count
出现在最后一行?
sys.exit()
答案 0 :(得分:2)
请确保将reader
的所有操作都保留在with
块中。 with
块退出后,由于文件已自动关闭,您将无法再访问阅读器。
count = 0
with open('mydata.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
count += 1
print(count)
此外,您不需要sys.exit()
,循环用完后,循环会自行终止。在这段代码之后,您可以在任何地方使用count
。