如何修改已导入Python文件中的字符串类型变量?
解决方法:修改导入模块中字符串拼接的可变部分
核心问题说明
你原来的Url = "" + ".json"是把空字符串和固定后缀直接拼接成了一个整体字符串,空字符串并不是一个可单独修改的独立变量——直接给urlchange.Url赋值会覆盖整个拼接结果,自然没法单独替换原来的空字符串部分。下面是几种实用的解决思路:
方案1:拆分变量(推荐)
把URL的可变基础部分和固定后缀拆成两个独立变量,只修改可变部分即可自动拼接完整URL:
修改urlchange.py:
import requests # 拆分基础URL和固定后缀 base_url = "" suffix = ".json" Url = base_url + suffix # 注意:原代码里的request是拼写错误,应该是requests json_post = requests.get(Url).json() ...提取JSON数据的代码
在test.py中修改基础URL:
import urlchange # 只修改基础部分,自动带上后缀 urlchange.base_url = "https://stackoverflow.com/questions/" # 此时Url会自动变为 "https://stackoverflow.com/questions/.json"
方案2:直接赋值完整URL
如果不想改动urlchange.py的结构,就在赋值时手动带上后缀:
import urlchange # 直接赋值拼接后的完整URL urlchange.Url = "https://stackoverflow.com/questions/" + ".json"
方案3:用函数封装(更规范)
把URL生成逻辑封装成函数,灵活性更高,适合后续扩展:
修改urlchange.py:
import requests def build_full_url(base_url): return base_url + ".json" # 初始调用可以传空字符串 json_post = requests.get(build_full_url("")).json() ...提取JSON数据的代码
在test.py中调用函数生成URL:
import urlchange # 传入基础URL获取完整地址 full_url = urlchange.build_full_url("https://stackoverflow.com/questions/") # 如果需要替换全局的Url变量,也可以再赋值 urlchange.Url = full_url
内容的提问来源于stack exchange,提问作者Namevta
相关产品推荐
相关产品推荐

