【问题标题】:Use user input and configfile to write to a new file使用用户输入和配置文件写入新文件
【发布时间】:2023-03-13 17:17:01
【问题描述】:

我对编码很陌生,我正在尝试让用户输入单词(区域)。我希望将这些放入一个列表中,该列表可用于根据计数器从中提取。输入的其余部分从文件中提取,然后使用 shlex.split 分解。然后我命名这些 linetokens 并将它们用于我的 if 语句和我的命名。我想知道是否有人可以查看以下代码并让我知道我做错了什么。我运行它时没有收到任何错误;但是,什么也没有发生。我正在使用python 2.7。 *添加“main(sys.argv[1])”后,脚本现在运行,但我仍然收到错误。

import sys
import shlex

def inputZone(zone):
    zones = raw_input('Enter zones: ')
    return zone

def main(argv):
    count = int(0)
    zones = zone.split(' ')
    sys.stdout.flush
    argv = sys.argv
    if len(sys.argv) != 2:
        configfile = open(str(sys.argv(1),'r'))
    for configline in configfile:
        with open('converted.txt','a') as converted:
            linetokens = shlex.split(configline)
        while count <= len(zones):
            if(linetokens[0]=='set' and linetokens[1]=='group' and linetokens[3]==zones[count] and linetokens[5]=='add'):
                groupObject=linetokens[4].replace(' ','_').replace('[','').replace(']','').strip()
                groupZone=linetokens[3].strip(' ')
                addressObjectName=linetokens[6].replace(' ','').replace('[','').replace(']','')
                converted.write("set security zones security-zone " + groupZone + " address-book address-set " + groupObject + " address " +  + addressObjectName +'\n')
                count = count + 1

configfile.close()
main(sys.argv[1])

【问题讨论】:

    标签: python-2.7 list input counter user-input


    【解决方案1】:

    您遇到的错误是什么。我可以注意到程序中有很多 python 错误。

    main(argv) argv 从未使用过

    zones = zone.split(' ')此时尚未声明区域。

    sys.stdout.flush 是一个函数定义,你并没有真正调用它

    【讨论】:

    • 我实际上停止使用用户输入,因为我无法让它工作。
    猜你喜欢
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-06
    • 2021-03-02
    相关资源
    最近更新 更多