小编ste*_*020的帖子

使用 argparser 将参数传递给入口点 python 脚本

我希望将用户输入的参数从命令行传递到 python 脚本的入口点。到目前为止,我尝试使用 argparse 将参数从命令行传递到 test.py 脚本。当我尝试传递参数时,它们无法被识别,并且收到以下错误。

load_entry_point('thesaurus==0.1', 'console_scripts', 'thesaurus')()
TypeError: find_synonym() 缺少 1 个必需的位置参数:'argv'

我在这里查看了其他示例,但无法使任何解决方案发挥作用。

def main(argv):
    if argv is None:
        argv = sys.argv

    parser = argparse.ArgumentParser(description='Enter string')
    parser.add_argument('string', type=str, help='Enter word or words', nargs='*')
    args = parser.parse_args(argv[1:])
    print(args)

if __name__ == "__main__":
    sys.exit(main(sys.argv))
Run Code Online (Sandbox Code Playgroud)

我的 setup.py 脚本入口点如下所示

setup(entry_points={'console_scripts': ['test=test_folder.main:main']})
Run Code Online (Sandbox Code Playgroud)

我期望发生的情况与我运行 python main.py main foo 时类似。当它传递给函数时,它将成功打印出 hello。

python arguments sys setup.py argparse

9
推荐指数
1
解决办法
4825
查看次数

标签 统计

argparse ×1

arguments ×1

python ×1

setup.py ×1

sys ×1