1、使用文件对象的read ()方法来读取文件的内容,然后使用字符串对象的splitlines ()方法来按照行分割字符串,并去掉每行末尾的\n。例如:
with open ('filename.txt') as f:
lines = f.read ().splitlines ()
2、使用文件对象的readlines ()方法来读取文件的每一行,然后使用列表推导或者map函数来对每一行应用字符串对象的rstrip ()方法,去掉每行末尾的空白字符,包括\n。例如:
with open ('filename.txt') as f:
lines = [line.rstrip () for line in f]
或者
with open ('filename.txt') as f:
lines = list (map (lambda line: line.rstrip (), f))
两种方法的优缺点:
- 使用read ()和splitlines ()方法的优点是代码更简洁和直观,而且splitlines ()方法可以处理不同的换行符,比如\n,\r,\r\n等。缺点是read ()方法会一次性读取文件的全部内容,如果文件很大,可能会占用较多的内存空间。
- 使用readlines ()和rstrip ()方法的优点是可以逐行读取文件,节省内存空间,而且rstrip()方法可以指定要去掉的空白字符,比如只去掉\n而保留其他空白字符。缺点是代码稍微复杂一些,而且rstrip()方法可能会去掉一些你想要保留的空白字符,比如行尾的空格或者制表符。