python 如何从键盘而不是文件读取输入
How to read input from keyboard instead of file in python
我有以下 python 片段
@click.argument('file',type=click.Path(exists=True))
以上命令从以下格式的文件中读取
python3 code.py file.txt
使用函数处理同一个文件
def get_domains(domain_names_file):
with open(domain_names_file) as f:
domains = f.readlines()
return domains
domains = get_domains(file)
我不想从文件中读取它,我想在终端中执行时提供一个域作为参数,命令将是
python3 code.py example.com
我应该如何重写代码。
Python版本:3.8.2
您可以使用 argparse
:
import argparse
# set up the different arguments
parser = argparse.ArgumentParser(description='Some nasty description here.')
parser.add_argument("--domain", help="Domain: www.some-domain.com", required=True)
args = parser.parse_args()
print(args.domain)
然后你通过
调用它
python your-python-file.py --domain www.google.com
click.argument
默认创建从命令行读取的参数:
@click.argument('file')
这应该创建一个从命令行读取并在 file
参数中可用的参数。
查看文档和示例 here
我发现您正在使用 click 库。
由于您想将 'domain'/website 作为参数传递,因此只需将其作为字符串输入即可。如果您从装饰器中删除 'type' 参数,默认情况下它会生成 STRING 类型。
The most basic option is a simple string argument of one value. If no type is provided, the type of the default value is used, and if no default value is provided, the type is assumed to be STRING.
解决方法:
@click.argument('domain')
我有以下 python 片段
@click.argument('file',type=click.Path(exists=True))
以上命令从以下格式的文件中读取
python3 code.py file.txt
使用函数处理同一个文件
def get_domains(domain_names_file):
with open(domain_names_file) as f:
domains = f.readlines()
return domains
domains = get_domains(file)
我不想从文件中读取它,我想在终端中执行时提供一个域作为参数,命令将是
python3 code.py example.com
我应该如何重写代码。
Python版本:3.8.2
您可以使用 argparse
:
import argparse
# set up the different arguments
parser = argparse.ArgumentParser(description='Some nasty description here.')
parser.add_argument("--domain", help="Domain: www.some-domain.com", required=True)
args = parser.parse_args()
print(args.domain)
然后你通过
调用它python your-python-file.py --domain www.google.com
click.argument
默认创建从命令行读取的参数:
@click.argument('file')
这应该创建一个从命令行读取并在 file
参数中可用的参数。
查看文档和示例 here
我发现您正在使用 click 库。 由于您想将 'domain'/website 作为参数传递,因此只需将其作为字符串输入即可。如果您从装饰器中删除 'type' 参数,默认情况下它会生成 STRING 类型。
The most basic option is a simple string argument of one value. If no type is provided, the type of the default value is used, and if no default value is provided, the type is assumed to be STRING.
解决方法:
@click.argument('domain')