在命令行上发送无限的参数和值

问题描述 投票:0回答:1

我正在尝试构建一个通用文件,用于在数据库上创建一个表,我想从命令行发送类似这样的内容

python create_table.py table_name=test name=TEXT city=TEXT 
所以每次我运行该文件时,我都可以创建一个包含新字段的新表,每个字段都有他的类型

我想出使用 sys.argv 并像这样发送它

python create_table.py test name TEXT city TEXT

并以 sys.arg[1] 作为表名,以 sys.argv[2] 作为第一列,以 sys.argv[3] 作为其类型,另一列如下

我的问题是有比使用 sys.argv 更好的方法吗?

python python-3.x sqlite command-line-arguments argparse
1个回答
0
投票

我喜欢在此类用例中使用 argparse

import argparse

def main():
    # Create ArgumentParser object
    parser = argparse.ArgumentParser(description='Create a database table')

    # Add arguments
    parser.add_argument('table_name', type=str, help='Name of the table')
    parser.add_argument('name', type=str, help='Name entry')
    parser.add_argument('city', type=str, help='City entry')

    # Parse the command-line arguments
    args = parser.parse_args()

    # Print the arguments
    print(f"Table Name: {args.table_name}")
    print(f"Column Name: {args.name}")
    print(f"Column Type: {args.city}")

main()

© www.soinside.com 2019 - 2024. All rights reserved.