Jak w skrypcie zastąpić plik wbudowanym obiektem?

0

Cześć,

jestem nowy w temacie i mam prośbę o pomoc z poniższym.

Mam obecnie działający skrypt:

#argument passed to the script in order to indicate which item should be processed
searchedItem = sys.argv[1]

#get list of items with its details via REST API in json format
response = requests.get('http://localhost...')
vJsonStr = response.text

#convert json schema into summary list with names and ids only
fTxt = open(filepathTxt, 'w')
vJson = json.loads(vJsonStr)

for r in vJson['items']:
    fTxt.write (r[ 'name' ] + ' ' + r[ 'id' ] + ' \n')
fTxt.close()

#check whether argument passed is covered by the list saved
file = open(filepathTxt, 'r')
content = file.read()

if searchedItem in content:
        with open (filepathTxt, 'r') as file:
            for line in file:
                if searchedItem in line:
                    wantedwantedLine = line.split(' ')
                    ItemName = wanted[0]wantedLine[0]
                    ItemId = wanted[1]wantedLine[1]
    else:
         print('WARNING: ...')

Jak zastąpić plik fTxt jakąś wbudowanym pythonowym obiektem aby finalnie otrzymać ten sam rezultat bez konieczności posługiwania się plikiem?
Plik txt ma formę jak poniżej, dzięki czemu podając odpowiednią nazwę item mogę uzyskać jego ID.
item1 id1
item2 id2
item3 id3

Powinienem użyć listy a może dict?
Jak te obiekty zainicjować i jakiego użyć polecenia aby uzyskać finalnie taki efekt jak obecnie?

Będę wdzięczny za pomoc.
Pozdrawiam.

0

Jeżeli przechowujesz tam pary, to dict się nadaje idealnie; inicjujesz obiekt:
d = {};
potem w pętli, zamiast zapisywania do pliku:
d[r[ 'name' ]] = r[ 'id' ].
https://python-reference.readthedocs.io/en/latest/docs/dict/

1 użytkowników online, w tym zalogowanych: 0, gości: 1