亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 如何動態調用py文件

Python 如何動態調用py文件

慕萊塢森 2018-08-03 19:11:36
目的能夠動態地調用不同py文件,傳入參數并獲得返回參數。下面是想象中的實現方法。a.py :path_file = 'b.py'    # 動態指定py文件位置para_in = 123para_out = xxx(path_file,para_in)    # 該函數是path_file(這里是b.py)文件里的函數,傳入參數,返回參數賦給para_outb.py :def xxx(para):     執行方法(例: para += 1)    return para已知方法已經搜尋過能夠實現類似的方法有幾個,但都不夠理想:import下面是用 import 實現「目的」描述的方法,但不能實現動態地加載py文件,且 Python PEP8 規范不建議 import 放在執行內容中:a.py :import b para_in = 123para_out = b.xxx(para_in)b.py :  def xxx(para):   執行方法(例: para += 1)  return paraexec()下面是用 exec() 實現「目的」描述的方法,但似乎不太“干凈”,Pycharm 會警告在調用py文件的方法前,事先聲明和py文件中同樣函數名的函數(執行方法可以隨意寫,因為會被py中同名函數覆蓋):a.py :def xxx(para):  returnpath_file = 'b.py'para_in = 123with open(path_file, 'r') as file:   exec(file.read())   para_out = xxx(para_in)b.py :def xxx(para):   執行方法(例: para += 1)  return para問題上面的方法雖然能實現「目的」,但似乎不夠理想。所以問題是,是否有更好的辦法實現「目的」?
查看完整描述

1 回答

?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

謝邀,不知是否是這樣

a.py

import importlib
b = importlib.import_module('b')
para_in = 123para_out = b.xxx(para_in)


查看完整回答
反對 回復 2018-08-05
  • 1 回答
  • 0 關注
  • 1444 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號