一、文件定位和讀取內容
在Python中,我們可以使用內置函數open()來打開一個文件,打開文件後可以選擇讀取文件的方式,常用的方式有:讀取整個文件、逐行讀取文件和讀取部分文件。
1、讀取整個文件
with open('file.txt', 'r') as f:
content = f.read()
使用上面的代碼可以打開名為file.txt的文件,並將整個文件內容讀入到字符串變量content中,可通過print(content)輸出該文件的內容。
2、逐行讀取文件
with open('file.txt', 'r') as f:
for line in f.readlines():
print(line.strip())
使用上面的代碼可以打開文件並逐行讀取文件內容,readlines()方法將每行文本作為一個字符串放進列表中,for循環取出每行並去掉行尾的換行符,可通過print(line)按行輸出該文件的內容。
3、讀取部分文件
with open('file.txt', 'r') as f:
content = f.read(10)
使用上面的代碼可以打開文件並讀取前10個字符,可通過print(content)輸出該文件開頭的10個字符。
二、查找指定字符位置
在Python中,我們可以使用字符串的find()和index()方法查找指定字符在字符串中的位置,其中find()方法和index()方法有所不同。find()方法查找不到時返回-1,而index()方法查找不到時會拋出異常。
1、find()方法
s = 'abcdefghi'
print(s.find('c')) # 輸出2
使用上面的代碼可以在字符串s中查找字符’c’的位置,輸出值為2。
2、index()方法
s = 'abcdefghi'
print(s.index('c')) # 輸出2
使用上面的代碼也可以在字符串s中查找字符’c’的位置,輸出值也為2。
三、綜合實現
以下示例將演示如何讀取文件,並查找其中包含字符’Python’的行,輸出該行在文本中的起始位置和行內容(僅輸出第一行符合條件的結果)。
with open('file.txt', 'r', encoding='UTF-8') as f:
lineno = 0
for line in f.readlines():
lineno += 1
if 'Python' in line:
pos = line.find('Python')
print(f"第{lineno}行,起始位置為{pos},內容為:{line.strip()}")
break
使用上面的代碼可讀取文件file.txt,逐行查找是否包含字符’Python’,若包含則輸出找到的第一行的行號、起始位置和內容。其中strip()方法是用來去掉換行符的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/243797.html