Python用户添加和控制字典
我目前正在做一个项目,我一直遇到障碍。 假设我有一个请求Python用户添加和控制字典,python,python-3.x,request,Python,Python 3.x,Request,我目前正在做一个项目,我一直遇到障碍。 假设我有一个请求 requests.post("url.com", headers=headers) 我怎样才能让一个人控制标题呢? 例如,一个人如何向headers字典中添加另一个值,而不必打开并更改文件?我是说从命令行。在程序执行期间,您可以告诉程序“这些是我想要的头文件。”您可以将头文件保存在外部JSON文件中,如: { "header_1": "header value", "header_2": "header value 2"
requests.post("url.com", headers=headers)
我怎样才能让一个人控制标题呢?
例如,一个人如何向headers字典中添加另一个值,而不必打开并更改文件?我是说从命令行。在程序执行期间,您可以告诉程序“这些是我想要的头文件。”您可以将头文件保存在外部JSON文件中,如:
{
"header_1": "header value",
"header_2": "header value 2"
}
然后在需要生成请求时加载它,即:
import json
with open("path/to/your/headers.json", "r") as f:
headers = json.load(f)
requests.post("url.com", headers=headers)
更新:如果希望通过命令行控制头,最基本的方法是使用列表访问CLI参数,因此,例如,如果您以以下方式调用脚本:python script\u name.py header1=value\u 1 header2=value\u 2
,则可以将其转换为dict:
import sys
if len(sys.argv) > 1: # ensure that we at least have some arguments
headers = dict(x.split("=") for x in sys.argv[1:])
requests.post("url.com", headers=headers)
else:
print("At least one header required.") # or whatever you want in that case...
但是,如果您正在寻找更健壮的CLI处理,我建议您检查内置模块。您可以将标题保存在外部JSON文件中,如:
{
"header_1": "header value",
"header_2": "header value 2"
}
然后在需要生成请求时加载它,即:
import json
with open("path/to/your/headers.json", "r") as f:
headers = json.load(f)
requests.post("url.com", headers=headers)
更新:如果希望通过命令行控制头,最基本的方法是使用列表访问CLI参数,因此,例如,如果您以以下方式调用脚本:python script\u name.py header1=value\u 1 header2=value\u 2
,则可以将其转换为dict:
import sys
if len(sys.argv) > 1: # ensure that we at least have some arguments
headers = dict(x.split("=") for x in sys.argv[1:])
requests.post("url.com", headers=headers)
else:
print("At least one header required.") # or whatever you want in that case...
但是,如果您正在寻找更健壮的CLI处理,我建议您检查内置模块。您可以使用optpass从命令行解析参数:
from optparse import OptionParser
parser = OptionParser()
parser.add_option("-h", "--headers", dest="headers", help="Specify the headers using the syntax: <header_name>=<value>,<header_name>=<value>,...", type="str", default=None)
(options, args) = parser.parse_args()
headers = options.headers
然后,通过命令行传递标题,如下所示:
python3 program_name.py -h header_1=value_1,header_2=value_2
您可以使用OPTPASE从命令行解析参数:
from optparse import OptionParser
parser = OptionParser()
parser.add_option("-h", "--headers", dest="headers", help="Specify the headers using the syntax: <header_name>=<value>,<header_name>=<value>,...", type="str", default=None)
(options, args) = parser.parse_args()
headers = options.headers
然后,通过命令行传递标题,如下所示:
python3 program_name.py -h header_1=value_1,header_2=value_2
如果要从命令行传递标题,可以执行以下操作:
import sys
headers = dict([header.split('=', 1) for header in sys.argv[1:]])
request.post("url.com", headers)
然后通过传递头名称和值来调用它,如:
python file.py==
如果要从命令行传递头,可以执行以下操作:
import sys
headers = dict([header.split('=', 1) for header in sys.argv[1:]])
request.post("url.com", headers)
然后通过传递头文件名和值来调用它,比如:
python file.py==
您可以将头文件放在一个单独的文件中(比如json),然后将它们加载到python文件中,并随请求一起发送。您可以将头文件放在一个单独的文件中(比如json),然后将它们加载到python文件中,并随请求一起发送。嗨!非常感谢。我不是在寻找一个基于文件的解决方案,而是一种在程序运行期间在命令行中声明所需标题的方法。谢谢你好非常感谢。我不是在寻找一个基于文件的解决方案,而是一种在程序运行期间在命令行中声明所需标题的方法。谢谢非常感谢。正是我需要的。谢谢!正是我需要的。