0

現在、ファイルを開こうとしていて、行を分割するために shlex.split を使用しています。テキスト ファイルの 2 行の例を次に示します。

set group address "Untrust" "This is a test group"
set group address "Untrust" "This is a test group" add "Test-address"

コードを実行すると、「IndexError: list index out of range」と表示されます。これは私のlinetoken [5]を認識しないためだと思います。両方の行がほぼ同じように始まるため、コードを最初の行を超えて 2 番目の行に移動するにはどうすればよいでしょうか。私の現在のコードは以下です。ユーザー入力とカウントは、ゾーンに入り、入力ゾーンを使用してループするためのものですが、最初にこの問題を修正するために、ほとんどのコードを消去しました.

import shlex
import sys

def main():
    zone = []
    zone = raw_input(str('enter zones: '))
    zone = shlex.split(zone)
    count = 0
    configfile = open('convert.txt','r')
    for configline in configfile:
        with open('converted.txt','a')
            linetoken = shlex.split(configline)
            if(linetoken[0]=='set' and linetoken[1]=='group' and linetoken[5]=='add'):
                converted.write(linetoken[0] +' ' +linetoken[1] +' ' +linetoken[2] +' ' +linetoken[3] +' ' +linetoken[4] +' ' +linetoken[5])
                break
main()
4

1 に答える 1