Python 三種讀文件方法read(), readline(), readlines()及去掉換行符\n


Python 三種讀文件方法read(), readline(), readlines()及去掉換行符\n

首先, 讓我們看下數據demo.txt, 就兩行數據.

35durant
teamGSW

1. read()

with open("demo.txt", "r") as f: data = f.read() print(data) print(type(data)) output[1]: 35durant teamGSW

這種方法直接將所有的數據一次性讀取出來, data的數據類型是一個字符串

2. readline()

with open("demo.txt", "r") as f: data = f.readline() print(data) print(type(data)) output[1]: 35durant <class 'str'>

該方法讀取的是一行內容, 然后是帶換行符的, 所有會有空行, 后續會說明如何去掉換行符”\n”.

3. readlines()

with open("demo.txt", "r") as f: data = f.readlines() print(data) print(type(data)) output[1]: ['35durant\n', 'teamGSW'] <class 'list'>

這種方法返回的是一個列表, 注意換行符是包含在字符串的內容中.

接下來說明, 如何在讀取文本文件時去掉字符串中的換行符: “\n”.
這里以readlines()方法返回的list與read()方法返回的str為例, 分別進行說明.

方法1: 基於list的索引操作

with open("demo.txt", "r") as f: data = f.readlines() print(data) a = data[0][:-1] b = data[1] print(a, b) output[1]: ['35durant\n', 'teamGSW'] 35durant teamGSW

方法2: 基於str的splitlines()方法
with open("demo.txt", "r") as f: data = f.read().splitlines() print(data) output[1]: ['35durant', 'teamGSW']

使用strip()函數去掉每行結束的\n

例如:

1)

 for line in file.readlines():

      line=line.strip('\n')

2)

#讀取 ip地址文件 寫入 ip_address 列表
ip_address = []
with open('ip.txt', 'r') as f1:
for ip in f1.readlines():
if ip != None:
# 從文件中讀取行數據時,會帶換行符,使用strip函數去掉 換行符后存入列表
ip_address.append(ip.strip("\n"))
f1.close()

 

strip()函數原型

聲明:s為字符串,rm為要刪除的字符序列

s.strip(rm)        刪除s字符串中開頭、結尾處,位於 rm刪除序列的字符

s.lstrip(rm)       刪除s字符串中開頭處,位於 rm刪除序列的字符

s.rstrip(rm)      刪除s字符串中結尾處,位於 rm刪除序列的字符

 

注意:

當rm為空時,默認刪除空白符(包括'\n', '\r',  '\t',  ' ')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM