python-3.x - 如何将同一目录中的文件名传递给 python 变量?
问题描述
我正在尝试在 web 服务器中的 BaseHTTPRequestHandler 类的 doGET 方法中传递一个 html 文件。如何将文件名传递给变量以在我的处理程序中访问?
代替
from http.server import HTTPServer, BaseHTTPRequestHandler
from urllib.parse import parse_qs
form = '''<!DOCTYPE html>
<title>Message Board</title>
<form method="POST" action="http://localhost:8000/">
<textarea name="message"></textarea>
<br>
<button type="submit">Post it!</button>
</form>
'''
我想做这样的事情:
form = open("Messageboard.html","r")
但是当我尝试在这里读取文件时它不起作用:
def do_GET(self):
# First, send a 200 OK response.
self.send_response(200)
# Then send headers.
self.send_header('Content-type', 'text/html; charset=utf-8')
self.end_headers()
# Then encode and send the form.
self.wfile.write(form.encode())
解决方案
我认为您应该详细说明您的问题!您可以发布更多代码吗?
一般来说,GET 请求会 f.ex。接受 URL 参数,如下所示:
http://example.com/getFormName.do?name=Messageboard%2Ehtml
点“。” 在文件名中必须是 URL 编码(见这里:https://www.degraeve.com/reference/urlencoding.php)
推荐阅读
- c++ - 使用 bazel 构建 Makefile
- node.js - PM2 集群中的 Websockets,在生产中好吗?
- python - 'TypeError: 'numpy.ndarray' object is not callable' 是什么意思?
- azure - 如何在使用 Azure cloudshell 克隆 Web 应用程序时修复“与现有主机名的冲突”
- jquery - 使用 jQuery 嵌套动态表单
- intellij-idea - Intellij 中文件上的红色方块是什么意思?Scala 错误在新机器上构建项目
- kdb - 在整个表 KDB 中用空值替换无穷大
- python - 如何将 JSON 转换为字符串?
- c++ - 如何在 Godbolt 上使用 Google Benchmark
- c# - 当我尝试选择用户名并将其放入字符串时,为什么 C# 会给我一个错误?