簡體   English   中英

如何使用python讀取文件?

[英]how to read the file using python?

我正在閱讀上面的.txt文件,在其中我必須標識這三個字母的單詞,例如(ARW,CZC,DUN等)。 稍后,我必須閱讀VR-GREQ等測試用例ID,直到下一種語言為止。 但我在讀取此.txt文件時遇到問題。 下面是我的代碼:

with open(output_filename) as parser_file:
        for language in parser_file:
            language = language.strip()
            if(re.search('[A-Z]', language)):
                lines = parser_file.readlines()

我必須進一步編碼,有人可以幫我嗎?

我的新代碼:output_filename = r“ C:\\ Usersktop \\ TEST \\ Language \\ Output.txt” def Writing():

    rx = r'^([A-Z]{3})$'

# define a dictionary for the languages
    languages = {}
    # looks for exactly three uppercase letters from beginning to end

    # define a temporary list
    tmp = list()
    for line in open(output_filename, 'r+'):
        m = re.search(rx, line, re.MULTILINE)
        if m is not None:
            if len(tmp) > 0:
                languages[current] = tmp
            tmp = list()
            current = m.group(1) # current holds the actual language tag
        else:
            if len(line) > 0:
                tmp.append(line.strip())

    # after the loop
    if len(tmp) > 0:
        languages[current] = tmp
    print languages

如果需要查找長度為3的字符串,請使用[AZ] {3}。 您可以根據這3個字符“單詞”的位置將整個列表分成數組。

編輯:回答您的評論...

headers=re.split('[AZ]{3}\\n',YOUR_STRING)將為每個部分找到“標題”。 然后,您可以執行NEW_STRING=YOUR_STRING[YOUR_STRING.find(headers[0]):YOUR_STRING.find(headers[1])]

使用循環和其他工具,這應該可以幫助您實現目標。

借助您的評論,問題變得更加清晰。 考慮以下代碼:

import re

string = your_string_as_above
rx = r'^([A-Z]{3})$'

# define a dictionary for the languages
languages = {}

# define a temporary list
tmp = list()
for line in re.split(r'\n', string):
    m = re.search(rx, line, re.MULTILINE)
    if m is not None:
        if len(tmp) > 0:
            languages[current] = tmp
        tmp = list()
        current = m.group(1) # current holds the actual language tag
    else:
        if len(line) > 0:
            tmp.append(line.strip())

# after the loop
if len(tmp) > 0:
    languages[current] = tmp
print languages

""" prints out a dictionary with the language as key
{'FRC': ['VR-GREQ-299659_18', 'VR-GREQ-299659_19', 'VR-GREQ-299659_28', 'VR-GREQ-299659_31', 'VR-GREQ-299659_32'], 'CZC': ['VR-GREQ-299684_6k', 'VR-GREQ-299606_6', 'VR-GREQ-299606_8', 'VR-GREQ-299640_1', 'VR-GREQ-299640_5', 'VR-GREQ-299640_6', 'VR-GREQ-299640_7'], 'DUN': ['FB_71125_1'], 'ARW': ['VR-GREQ-299684_6j', 'VR-GREQ-299684_6k', 'VR-GREQ-299606_3', 'VR-GREQ-299606_4', 'VR-GREQ-299606_5', 'VR-GREQ-299606_7', 'VR-GREQ-299606_9', 'VR-GREQ-299607_4', 'VR-GREQ-299608_1', 'VR-GREQ-299563_10']}
""""

在ideone.com上查看演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM