我经常从命令行使用Numpy并且总是要记住应用一些重复设置,例如设置输出格式:
np.set_printoptions(threshold=np.NaN, precision=3, suppress=True, linewidth=180)
是否有一个全局Numpy配置文件会自动为新的Python shell执行,或者在导入期间可以执行此操作?如果没有,是否有一种优雅的方式来实现这种效果?
答案 0 :(得分:3)
我不知道专门针对numpy的配置文件,但如果您使用IPython,则可以set up a profile以便在打开新的IPython shell时自动设置这些打印选项。
创建新的配置文件(您可以省略名称以创建默认配置文件)
$ ipython profile create fancyprint
然后编辑配置文件,该文件应该位于~/.config/ipython/profile_fancyprint/ipython_config.py
取消注释这一行:
# c.TerminalIPythonApp.exec_lines = []
并添加要在启动时执行的行:
c.TerminalIPythonApp.exec_lines = [
'import numpy as np',
'np.set_printoptions(threshold=np.NaN, precision=3, suppress=True, linewidth=180)'
]
然后您可以使用命名的配置文件
启动IPython$ ipython --profile=fancyprint
应自动设置阵列打印选项。
答案 1 :(得分:2)
我不知道numpy
的这样的配置文件(对于matplotlib
,例如你有the matplotlibrc
file)。
但是,作为一种解决方法,您可以将environment variable PYTHONSTARTUP
设置为指向Python脚本,该脚本将在每次Python部分启动时执行任何操作。
在我的情况下,我将它用于import numpy as np
,import matplotlib.pyplot as plt
,因此......每次我想快速尝试使用Python时,都会节省少量的“开销”。
Windows上的示例:
set PYTHONSTARTUP=C:\Users\yourlogin\somewhere\startup.py
Linux上的示例:
export PYTHONSTARTUP=/usr/local/bin/startup.py
您应该使用“控制面板\系统”将其设置为一次,例如,在Windows上。