【问题标题】:Can I define all import in one file in python shell我可以在 python shell 的一个文件中定义所有导入吗
【发布时间】:2017-09-19 00:45:03
【问题描述】:

我正在尝试在一个模块中导入多个导入,然后导入该模块并导入我需要的所有内容。我可以这样做吗?

我正在尝试这样:

>>> os.system('cat python_imports.py')    # just to show the contents of a file
import sys
0
>>> import python_imports    # now import
>>> sys            #  now use the imported stuff
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'sys' is not defined

如果这不起作用怎么办?

如果有人不明白这个问题:使用 python shell 时;我每次都使用一些相同的模块,需要手动导入。我不想每次启动 Python shell 时都导入相同的模块,我想更快地导入它们。 那么有没有办法做到这一点? 谢谢!

【问题讨论】:

  • 这不是一个好方法,如果我们确切地知道您想要完成什么,我们可以建议一个更好的解决方案。
  • from python_imports import *
  • “我可以这样做吗?” - 不,因为即使语法正确,您也会在 wazoo 中遇到循环导入问题。 “那如果这不起作用怎么办?” - 让每个模块导入它需要的东西。
  • @user2357112 - 我没有看到任何循环导入。我认为 OP 只是想通过将他正在处理的东西放在一个导入文件中来加快 shell 中的工作。
  • @tdelaney:在交互模式下,它可能会成功。在具有多个文件的程序中,尝试将所有导入内容填充到一个文件中会导致循环导入。

标签: python import module


【解决方案1】:

看起来您只是想要一种方便的方式将模块导入 shell 会话,而无需大量繁琐的输入。

Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> open('python_imports.py').read()
'import sys\n\n'
>>> from python_imports import *
>>> sys
<module 'sys' (built-in)>
>>> 

【讨论】:

  • 我什至没有尝试,因为对我来说它似乎很简单。但它确实有效,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-06
  • 1970-01-01
  • 1970-01-01
  • 2018-10-21
  • 1970-01-01
  • 1970-01-01
  • 2019-04-12
相关资源
最近更新 更多