运行python脚本时自动导入模块?

运行python脚本时自动导入模块?,python,import,module,Python,Import,Module,我想其他人可能会问这个问题,但我找不到。我的问题是,我在我的.ipython/ipy\u user\u conf.py中有这些陈述: ip.ex('import matplotlib as mat') ip.ex('import matplotlib.pyplot as plt') ip.ex('import numpy as np') ip.ex('import pupynere as pu') ip.ex('import g') ip.ex('import bsite') ip.ex('im

我想其他人可能会问这个问题,但我找不到。我的问题是,我在我的
.ipython/ipy\u user\u conf.py
中有这些陈述:

ip.ex('import matplotlib as mat')
ip.ex('import matplotlib.pyplot as plt')
ip.ex('import numpy as np')
ip.ex('import pupynere as pu')
ip.ex('import g')
ip.ex('import bsite')
ip.ex('import csvf')
ip.ex('import pandas as pa')
ip.ex('import pickle as pk')
ip.ex('import mathex as mathex')
ip.ex('import os as os')
ip.ex('import re as re')
ip.ex('import scipy as sp')
ip.ex('import mpl_toolkits.basemap as bmp')
ip.ex('from mpl_toolkits.basemap import cm')
然后,如果我在ipythonshell中使用python,那么当我启动ipython时,这些模块将直接加载,但是如果我有一个python脚本,例如,
ba_plot.py
用于制作一些绘图。我在ipython中以交互方式调试了脚本,但我想在shell终端中运行它,如:

chaoyue@chaoyue-Aspire-4750:~$  python ba_plot.py
但在此之前,每次我需要在
ba_plot.py
文件的开头再次复制以下内容:

import matplotlib as mat
import matplotlib.pyplot as plt
import numpy as np
import pupynere as pu
import g
import bsite
import csvf
import pandas as pa
import pickle as pk
import mathex as mathex
import os as os
import re as re
import scipy as sp
import mpl_toolkits.basemap as bmp
from mpl_toolkits.basemap import cm

因为否则它会抱怨找不到模块。那么,在导入所有这些模块的头文件时,是否可以通过在python脚本的开头包含一些头文件来避免这样做?通过这种方式,我只需要在python脚本的开头添加一行即可。

使用依赖外部启动脚本的脚本来使其工作是一种不好的做法。做这些导入是你应该做的

如果您定期将导入集中在一个文件中(例如,将其称为
common\u imports.py
),然后从该文件中导入所有内容(
从common\u imports导入*
),则可以简化它。然后,这就变成了只需要输入的一行。然而,我仍然希望看到显式导入

(另一个注意事项是:在
将os导入为os
中,
作为os
是完全多余的。)

您需要修改。每次运行Python程序时都会运行此脚本。对我来说,它存在于
/usr/lib/python2.7/site.py


正如Chris Morgan所说,这是一种非常糟糕的做法,我强烈建议您避免这种做法。

之间应该有换行符,但web无法正确显示
'\n'
:您只需选择行,然后单击编辑字段上方的“格式为代码”按钮。您好,感谢大家的讨论。真的很有帮助,给我一种感觉,我不需要独自奋斗。