Python實現文件定位及查找指定字符的位置和讀取內容的方法

一、文件定位和讀取內容

在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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:58
下一篇 2024-12-12 12:58

相關推薦

發表回復

登錄後才能評論