如何导入可以通过url访问的python模块
我公司使用某种版本控制归档工具(微软Windows),我想直接从中导入数据。但我找不到办法。
这是我尝试过的:
>>> import sys
>>> sys.path.append(r"http://some_path_copied_and_pasted/05.Autres%20Outils/Regen_Engine")
>>> sys.path
['C:\\Python26\\Lib\\idlelib', 'C:\\Python26\\python26.zip', 'C:\\Python26\\DLLs', 'C:\\Python26\\lib', 'C:\\Python26\\lib\\plat-win', 'C:\\Python26\\lib\\lib-tk', 'C:\\Python26', 'C:\\Python26\\lib\\site-packages', 'http://some_path_copied_and_pasted/05.Autres%20Outils/Regen_Engine']
>>> import regen_engine as r
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
import regen_engine as r
ImportError: No module named regen_engine
我试着把网址中的“%20”替换成空格,但结果还是一样。我还尝试使用imp
模块,但效果也不好。
所以我有几个问题:
- 从网址导入数据是否可能?
- 如果可以,我该怎么做呢?
也许解决办法是通过Sharepoint的其他隐藏路径来访问这个文件,这样就可以用一个标签来处理它。
2 个回答
1
试试这个:
def dynamic_import_by_uri(file)
file = os.path.abspath(file)
exec open(file, 'rb') in globals()
这个方法可以用,但在正式版本中不太安全...
2
import urllib
def urlimport(x):
exec urllib.urlopen(x) in globals()
这样做是不对的,你绝对不应该在实际的生产代码中使用这个,这只是一个概念验证。