GVKun编程网logo

在jupyter / iPython Notebook中将命令行参数传递给argv(jupyter执行命令行)

5

对于在jupyter/iPythonNotebook中将命令行参数传递给argv感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍jupyter执行命令行,并为您提供关于5分钟入门IPython和

对于在jupyter / iPython Notebook中将命令行参数传递给argv感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍jupyter执行命令行,并为您提供关于5 分钟入门 IPython 和 Jupyter Notebook、anaconda – 如何在IPython jupyter笔记本中传递命令行参数、bash – Jupyter / iPython Notebook的Root访问权限、ipython jupyter notebook 中显示图像和数学公式的有用信息。

本文目录一览:

在jupyter / iPython Notebook中将命令行参数传递给argv(jupyter执行命令行)

在jupyter / iPython Notebook中将命令行参数传递给argv(jupyter执行命令行)

我想知道是否有可能sys.argv在jupyter /
ipython笔记本中使用命令行参数填充(或其他结构),类似于通过python脚本完成操作的方式。

例如,如果我要按如下方式运行python脚本:

python test.py False

然后sys.argv将包含参数False。但是,如果我以类似方式运行jupyter笔记本:

jupyter notebook test.ipynb False

然后,命令行参数丢失。有什么方法可以从笔记本本身内部访问此参数?

答案1

小编典典

在四处查看之后,我发现了非常麻烦的自定义库,但是用几行代码解决了它,我认为这很漂亮。我使用nbconvert最终以html报告作为输出,该报告包含笔记本中的所有图形和减价,但是像往常一样通过最小的python包装器接受命令行参数:

python文件test_args.py(正常使用命令行参数):

import sys,osIPYNB_FILENAME = ''test_argv.ipynb''CONFIG_FILENAME = ''.config_ipynb''def main(argv):    with open(CONFIG_FILENAME,''w'') as f:        f.write('' ''.join(argv))    os.system(''jupyter nbconvert --execute {:s} --to html''.format(IPYNB_FILENAME))    return Noneif __name__ == ''__main__'':    main(sys.argv)

笔记本包含:

import sys,os,argparsefrom IPython.display import HTMLCONFIG_FILE = ''.config_ipynb''if os.path.isfile(CONFIG_FILE):    with open(CONFIG_FILE) as f:        sys.argv = f.read().split()else:    sys.argv = [''test_args.py'', ''input_file'', ''--int_param'', ''12'']parser = argparse.ArgumentParser()parser.add_argument("input_file",help="Input image, directory, or npy.")parser.add_argument("--int_param", type=int, default=4, help="an optional integer parameter.")args = parser.parse_args()p = args.int_paramprint(args.input_file,p)

而且我可以像往常一样解析参数来运行python笔记本:

python test_args.py my_input_file --int_param 12

我倾向于将带有argparse调用的块粘贴到python包装器中,以便python脚本捕获命令行错误,并且-h正常工作。

5 分钟入门 IPython 和 Jupyter Notebook

5 分钟入门 IPython 和 Jupyter Notebook

anaconda – 如何在IPython jupyter笔记本中传递命令行参数

anaconda – 如何在IPython jupyter笔记本中传递命令行参数

我是I python的新手.目前我已经使用Anaconda安装了Ipython并使用jupyter notebook UI编写代码来绘制图表.
我希望在argparse模块的帮助下将几个参数传递给我的工作脚本.
下面是代码..

import argparse

parser = argparse.ArgumentParser(description = ''Process display arguments'')
parser.add_argument(''-t'',"--test_name",help="Mandatory test name directory path",type=str)
parser.add_argument(''-s'',"--symbolSet",nargs = ''?'',help="Optional symbolset",const = ''baz'',default = ''deafultOne'')
args = parser.parse_args()
if args.test_name is None:
        print("test_name argument is mandatory.. Use option -h for help.. Exiting..")
        sys.exit(1)

现在,如何通过UI执行我的脚本时传递这些参数,还是可以通过命令提示符运行我的脚本并仍能绘制图表?
我正在使用Windows机器.如果您需要更多信息,请告诉我.就此而言.

解决方法

您可以在jupyter中使用带有类语法的argparse参数.

class Args:
  test_name = ''''
  symbolSet = ''defaultOne''

args=Args()

还有一个自动转换脚本.
http://35.192.144.192:8000/arg2cls.html

bash – Jupyter / iPython Notebook的Root访问权限

bash – Jupyter / iPython Notebook的Root访问权限

我正在尝试在i Python / Jupyter笔记本中使用bash内核,但我需要在笔记本本身内进行sudo访问.

我已经尝试过$sudo jupyter notebook以root身份运行笔记本,但这只会返回:

$jupyter: 'notebook' is not a Jupyter command

所以,我留下了运行$jupyter笔记本(除非有办法以root身份运行Jupyter笔记本).

我也不能在笔记本本身做su root因为这需要输入而笔记本不会让我输入.

最后,据称Jupyter笔记本有一个–allow-root选项:
http://jupyter-notebook.readthedocs.io/en/latest/config.html

但是,看起来–allow_root不再是一个选项. (我尝试通过添加NotebookApp.allow_root = True来修改配置文件,但这不起作用.)

有什么想法吗?也许我做错了什么?

解决方法

从根配置文件添加c.NotebookApp.allow_root = True.你不需要请求允许 – rootevery时间然后你启动笔记本.

编辑:

在编辑配置文件之前,您需要以root身份运行jupyter notebook –generate-config来生成文件.

ipython jupyter notebook 中显示图像和数学公式

ipython jupyter notebook 中显示图像和数学公式

1. # 可以使用 LaTeX 表示数学公式

# 可以使用LaTeX表示数学公式
    from IPython.display import Latex
    Latex(r"$\sqrt{x^2+y^2}$")


2. # SymPy 的表达式也可以显示为 LaTex

%load_ext sympyprinting
    from sympy import *
    x, y = symbols("x,y")
    sqrt(x**2+y**2)

3. # 用 Image 类显示”jupyter.png” 图片,缺省路径为 Notebook 文件所在的目录

from IPython.display import Image
    Image(filename="jupyter.png")

4. 使用 matplotlib 绘图

%matplotlib inline
    plot(random.randn(100));


5. # % prun 用于代码的执行性能分析,可以作为行命令和单元命令使用

%%prun
    for i in range(100):
        np.linalg.det(random.rand(10,10))

 



————————————————
版权声明:本文为 CSDN 博主「halazi100」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/halazi100/article/details/79704631

关于在jupyter / iPython Notebook中将命令行参数传递给argvjupyter执行命令行的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于5 分钟入门 IPython 和 Jupyter Notebook、anaconda – 如何在IPython jupyter笔记本中传递命令行参数、bash – Jupyter / iPython Notebook的Root访问权限、ipython jupyter notebook 中显示图像和数学公式等相关知识的信息别忘了在本站进行查找喔。

本文标签: