Rumah > Soal Jawab > teks badan
print int(time.time())
name = "scrapy.extensions.memusage"
__import__(name)
print int(time.time())
执行本段代码耗时30秒,请教可能是什么原因呢?
感谢大神的回答,原因确实是依赖导致的。
我的具体原因是:
hostname, aliases, ipaddrs = gethostbyaddr(name)
这个方法导致的, 跟获取服务器名有关,
解决办法是zai /etc/hosts中加入本机名 解决!
伊谢尔伦2017-04-17 17:56:40
Saya telah menguji kod di atas dan import scrapy.extensions.memusage
kedua-duanya mengambil masa sekitar 4s
Sepatutnya scrapy.extensions.memusage mempunyai terlalu banyak kebergantungan, menyebabkan kelajuan perlahan
Ia sepatutnya tiada kaitan dengan __import__
Dan pegawai tidak mengesyorkan menggunakan modul import ini...
Jika anda hanya mahu mengimport modul (berpotensi dalam pakej) mengikut nama, gunakan
importlib.import_module()
.
巴扎黑2017-04-17 17:56:40
Dua orang pertama sepatutnya menjawab soalan LZ, tetapi saya ingin menambah sesuatu
__import__("scrapy.extensions.memusage")
__import__("scrapy")
Dua baris ini adalah sepenuhnya bersamaan! Jika anda benar-benar ingin memperkenalkan scrapy.extensions.memusage
, maka anda harus menulis
__import__("scrapy.extensions.memusage", fromlist=[""])
Walau bagaimanapun, ia tidak berguna Kedua-dua ujian pemacu keadaan pepejal saya adalah kira-kira 2s.
黄舟2017-04-17 17:56:40
scrapy.extensions.memusage mengimport banyak kebergantungan secara lalai, yang sudah tentu perlahan. Lihat bilangan sys.modules sebelum dan selepas mengimport modul ini