python中文本文件的前两行是只读的特定部分

2024-06-25 23:44:29 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的问题描述:-我有一个要读取的.txt文件,我只想读取和打印前两行的特定部分

这是txt

NAME: "AAAAAA AAAAAA", DESCR: "bbbbbb bbbbbb, ccc. ccccccccccccccccccccccccccccccc "
PID: dd-ddddd-d        , VID: 23s  , SN: qqqqqqqqq              #Here

NAME: "ggggggggggg", DESCR: "hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh" 
PID: yy-yyyyy-yy-yy    , VID: Q23  , SN: ftyujnbghjn

上面的文字是因为它是写在文本文件ansi wan只读 PID:dd-ddddd-dSN:qqqqqqqq从第二行开始(见#这里的txt),忽略其余部分。!你知道吗

谢谢你的帮助。!:-)


Tags: 文件nametxtpidddcccdescrvid
3条回答
with open('file', 'r') as f:
    file_as_list = f.readlines()
for line in file_as_list:
    result = re.findall(r'PID:\s[a-z-]+|SN:\s[a-z-]+', line)
    if result:
        print(result)

输出:

['PID: dd-ddddd-d', 'SN: qqqqqqqqq']
['PID: yy-yyyyy-yy-yy', 'SN: ftyujnbghjn']

您可以逐行读取并找到必要的数据:

with open('yourTextFile.txt', "r") as f:
    for line in f:
        if "PID" in line or "SN" in line:
            dataArr = line.split(",")
            for data in dataArr:
                if 'PID' in data:
                    print(data)
                if 'SN' in data:
                    print(data)

输出:

PID: dd-ddddd-d        
 SN: qqqqqqqqq              

PID: yy-yyyyy-yy-yy    
 SN: ftyujnbghjn            

您可以使用readlines(),它将文本文件转换为列表。你知道吗

例如:

with open('demo.txt') as file:
    print(file.readlines()[1])   //fetches second line as I have used indexing here([1])

预期输出为PID: dd-ddddd-d , VID: 23s , SN: qqqqqqqqq

我使用了with open(),因为一旦文件被读取,它就会自动关闭文件。你知道吗

要获得结果:

with open('demo.txt') as file:
    second_line = file.readlines()[1]
    list_again = second_line.split(',')

预期输出:['PID: dd-ddddd-d ', ' VID: 23s ', ' SN: qqqqqqqqq \n']

现在您可以使用indexing来检索特定的值。你知道吗

相关问题 更多 >