You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python CGI中实现基于UniPROT ID的通用动态URL超链接?

Python CGI 实现通用UniPROT ID超链接生成

核心思路

把UniPROT的URL做成固定模板,仅将可变的UniPROT ID部分用占位符替代,每次只需替换占位符即可生成对应ID的有效超链接,保证通用性。

实现步骤与代码示例

#!/usr/bin/env python3
import cgi
import cgitb
cgitb.enable()  # 调试用,上线后可注释

# 1. 定义UniPROT通用URL模板,占位符{uniprot_id}用于替换输入的ID
UNIPROT_URL_TEMPLATE = "https://www.uniprot.org/uniprot/{uniprot_id}"

# 2. 获取用户提交的UniPROT ID(兼容GET/POST请求)
form = cgi.FieldStorage()
uniprot_id = form.getvalue("uniprot_id", "")  # 无输入时返回空字符串

# 3. 生成对应ID的具体URL
uniprot_url = UNIPROT_URL_TEMPLATE.format(uniprot_id=uniprot_id) if uniprot_id else ""

# 输出HTML页面
print("Content-Type: text/html; charset=utf-8")
print()
print("<html>")
print("<head><title>UniPROT 链接生成工具</title></head>")
print("<body>")
print("<h2>UniPROT 链接生成</h2>")
print('<form method="post">')
print(f'输入UniPROT ID: <input type="text" name="uniprot_id" value="{uniprot_id}">')
print('<input type="submit" value="生成链接">')
print("</form>")
if uniprot_url:
    print(f"<p>生成的超链接: <a href='{uniprot_url}' target='_blank'>{uniprot_id}</a></p>")
print("</body>")
print("</html>")

关键说明

  • 模板复用:UNIPROT_URL_TEMPLATE是固定结构,无论输入什么UniPROT ID,仅替换占位符就能生成合法的UniPROT页面链接,确保通用性。
  • 输入处理:通过cgi.FieldStorage()获取用户输入,同时设置默认空值避免无输入时出错。
  • HTML输出:使用str.format()或f-string将生成的URL插入到<a>标签的href属性中,每次运行都会根据当前输入的ID动态生成有效超链接。

内容的提问来源于stack exchange,提问作者Aravind Suresh Babu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 08:02:06