这是我做的函数:
@app.get("/shows/")
def get_items(q: List[str] = Query(None)):
'''
Pass path to function.
Returns folders and files.
'''
results = {}
query_items = {"q": q}
if query_items["q"]:
entry = PATH + "/".join(query_items["q"])
else:
entry = PATH
if os.path.isfile(entry):
return download(entry)
dirs = os.listdir(entry + "/")
results["folders"] = [
val for val in dirs if os.path.isdir(entry + "/" + val)]
results["files"] = [val for val in dirs if
os.path.isfile(entry + "/" + val)]
results["path_vars"] = query_items["q"]
return results
我的想法是将一个字符串数组传递给一个文件,该数组实际上在函数中形成一个路径,我可以从一个应用程序中为它提供一些数组来提供文件,并在它们遍历文件夹时向该函数发送一个字符串数组。但是..我无法弄清楚如何从 python 请求之类的东西发送参数列表。
这是我写的一个示例函数。
def try_url():
url = "http://192.168.0.16:8000/shows/"
payload = {
"q": ["downloads",
"showname"]
}
headers = {}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text.encode('utf8'))
Api 甚至不接受 q 值。我错过了什么?这是遍历目录的正确方法吗?在 url 格式中,这是一个请求的样子:
http://192.168.0.16:8000/shows/?q=downloads&q=foldername
我觉得不对。
最佳答案
我很笨,解决方案只是将参数传递给调用 ...
payload = {
"q" : ["downloads",
"Brooklyn.Nine-Nine.S07E01.720p.HEVC.x265-MeGusta"]
}
headers = {
}
response = requests.request("GET", url, headers=headers, params = payload)
在 requests.request 中添加“params”是解决方案。
关于python - 如何在 python 中将字符串数组传递给 fastapi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60732944/