为什么会这样!!在Python中,运行命令,但将输出封装在括号中

2024-05-19 13:32:18 发布

您现在位置:Python中文网/ 问答频道 /正文

一个typeo产生了一个意想不到的结果,为了以防万一,我想理解它。你知道吗

!!C:/myPythonPath/python script/event.py

Single !从Python内部运行命令(DOS、LINUX、通常可以从命令行执行的其他命令),在本例中,使用python2.7的Jupyter笔记本单元。你知道吗

我错误地键入了两个感叹号,令人惊讶的是,代码仍然有效,但我的输出出现在方括号内,如:

[ output of my program ]

更重要的是,演示文稿看起来像是将输出放在一个列表中。举个例子:

['------------------------------',
 'Unknown Event: Django Girls Bucaramanga, Colombia',
 '    Time    :  08 April – 09 April  2017',
 '    Location: Bucaramanga, Colombia',
 '------------------------------',
 'Upcoming Event: Python ... ]

如果这是一个真正的列表,有没有一种方法可以捕获它以供以后在调用脚本的程序中使用?我尝试在原来的行中添加一个x=,但这对我不起作用。也许我没把线路布置好。有办法吗?这只是好奇的一点。你知道吗


Tags: 命令行py命令event列表linuxscriptsingle
1条回答
网友
1楼 · 发布于 2024-05-19 13:32:18

@user2357112提供的评论保留了答案。诚然,你必须在一大堆其他有用的主题中找到它,而解决这个问题的实际语法在文章中并没有明确说明。你知道吗

答案是:是的,!!确实将!的输出转换为一个列表。但是从!!捕获它的尝试,如下面的链接所示是可能的,似乎不起作用。你知道吗

同样从@user2357112开始,这个语法(不使用!!)将获得所需的效果(运行命令并在列表中捕获它):

x = %sx echo "some text"

打印x,您将获得: ["some text"]

更多阅读链接,以免被淹没在评论中:

  1. https://www.datacamp.com/community/blog/ipython-jupyter#gs.ImXit1s
  2. https://ipython.org/ipython-doc/3/interactive/reference.html#manual-capture-of-command-output-and-magic-output

相关问题 更多 >