为什么会这样!!在Python中,运行命令,但将输出放在括号中
typeo产生了一个意想不到的结果,为了以防万一,我想了解它为什么会这样!!在Python中,运行命令,但将输出放在括号中,python,ipython,Python,Ipython,typeo产生了一个意想不到的结果,为了以防万一,我想了解它 !!C:/myPythonPath/pythonscript/event.py 单从Python内部运行命令(DOS、LINUX、通常可以从命令行执行的其他命令),在本例中,使用Python2.7的Jupyter笔记本单元 我错误地键入了两个感叹号,令人惊讶的是,代码仍然有效,但我的输出显示在方括号内,如所示: [我的程序输出] 更重要的是,演示文稿看起来像是将输出放在了一个列表中。以下是一个例子: ['---------------
!!C:/myPythonPath/pythonscript/event.py
单
从Python内部运行命令(DOS、LINUX、通常可以从命令行执行的其他命令),在本例中,使用Python2.7的Jupyter笔记本单元
我错误地键入了两个感叹号,令人惊讶的是,代码仍然有效,但我的输出显示在方括号内,如所示:
[我的程序输出]
更重要的是,演示文稿看起来像是将输出放在了一个列表中。以下是一个例子:
['------------------------------',
'Unknown Event: Django Girls Bucaramanga, Colombia',
' Time : 08 April – 09 April 2017',
' Location: Bucaramanga, Colombia',
'------------------------------',
'Upcoming Event: Python ... ]
如果这是一个真正的列表,有没有一种方法可以捕获它以供以后在调用脚本的程序中使用?我尝试在原始行中添加一个x=,但这对我不起作用。也许我没把线路布置好。有办法做到这一点吗?这只是一个好奇的问题 由@user2357112提供的评论给出了答案。诚然,你必须在一大堆其他有用的主题中找到它,而解决这个问题的实际语法在文章中并没有明确说明 答案是:是的,
代码>转换的输出将>编码到列表中。但是试图从中捕获它代码>,如下面的链接所示,似乎不起作用
同样从@user2357112开始,此语法(不使用!!
)将达到预期效果(运行命令并将其捕获到列表中):
x=%sx回显“一些文本”
打印x
,您将获得:
[“一些文本”]
更多阅读链接,以免被淹没在评论中:
谷歌搜索或立即找到答案。有时这一切都取决于你如何搜索。谢谢除非情况发生了变化,否则您无法实际捕获代码>变量中的输出,这使得语法甚至存在有点奇怪。要捕获列表,您需要使用%sx
魔术:x=%sx echo“some text”
。在Python 2.7上测试上面的代码,您可能会明白为什么我认为它有效。在第一次运行时,它做了预期的事情。在重新运行时,我得到一个错误,即变量中存储的echo无法识别。Python有这种奇怪的工作方式,即使代码被破坏一两次,然后让您感到惊讶。继续进行更多测试,然后决定是否编辑或删除此帖子。