python,用__import__()怎么写语句“from sys import stdin”?

jianghuaizhi 1年前 已收到1个回答 举报

辛艺 幼苗

共回答了18个问题采纳率:100% 举报

他们都错了.
from sys import stdin之后你的这个scope的dict里是增加了stdin啊.
所以应该是:
temp=__import__('sys')
stdin=temp.stdin
del temp

1年前 追问

1

jianghuaizhi 举报

能解释下__import__()第二个参数吗?

举报 辛艺

fromlist吗? fromlist实际上是第四个参数,fromlist实际上就是from xxx import yyy这样语句里的yyy。但是在__import__函数里如果第一个参数是一个module,fromlist指定的是这个module里的object的话,那fromlist就实际上是没用的,因为python在import一个module的时候,实际上是编译然后执行这个module,不可能只挑出module的一部分执行,所以在第一个参数是module的时候,不管有没有fromlist,__import__都一定是要返回给你一个整个的module的。而如果第一个参数是一个package,fromlist里是指定的module,那么python就可以不读取package里其他的module,只读你fromlist里指定的module了。你的问题里是要import sys,sys是一个module,所以指不指定fromlist都是没区别的。
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.020 s. - webmaster@yulucn.com