- 55
- 0
目的
能够动态地调用不同py文件,传入参数并获得返回参数。下面是想象中的实现方法。
a.py :
path_file = 'b.py' # 动态指定py文件位置
para_in = 123
para_out = xxx(path_file,para_in) # 该函数是path_file(这里是b.py)文件里的函数,传入参数,返回参数赋给para_out
b.py :
def xxx(para):
执行方法(例: para += 1)
return para
已知方法
已经搜寻过能够实现类似的方法有几个,但都不够理想:
-
import
下面是用 import 实现「目的」描述的方法,但不能实现动态地加载py文件,且 Python PEP8 规范不建议 import 放在执行内容中:
a.py :import b para_in = 123 para_out = b.xxx(para_in)b.py :
def xxx(para): 执行方法(例: para += 1) return para -
exec()
下面是用 exec() 实现「目的」描述的方法,但似乎不太“干净”,Pycharm 会警告在调用py文件的方法前,事先声明和py文件中同样函数名的函数(执行方法可以随意写,因为会被py中同名函数覆盖):
a.py :def xxx(para): return path_file = 'b.py' para_in = 123 with open(path_file, 'r') as file: exec(file.read()) para_out = xxx(para_in)b.py :
def xxx(para): 执行方法(例: para += 1) return para
问题
上面的方法虽然能实现「目的」,但似乎不够理想。所以问题是,是否有更好的办法实现「目的」?
0
打赏
收藏
点击回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
