如果引入一个for循环IPython中,或任何多行命令,我怎么回去,并添加行呢? 我跑了这一点:
for row in table.find_all('tr'):
cells = row.find_all('td')
for c,cell in enumerate(cells):
print c,":",cell.get_text().strip()
try:
this = cells[0]
that = cells[1]
the_docket = cells[2]
other_thign = cells[3]
jumble = re.sub('\s+',' ',str(cells[5])).strip()
except:
"Nope"
并意识到我需要一个行添加到它,但我不能只打在IPython中,B / C运行命令“输入”。 所以,我可以编辑多行命令瓦特/ IPython的?
在%edit
神奇的功能在IPython中,您可以编辑代码在你喜欢的编辑器,然后将执行它,如果它是直接输入。 您也可以编辑代码,你已经输入到REPL因为它保存在一个特殊的变量,例如:
In [1]: def foo(x):
...: print x
...:
In [2]: %edit _i1
还有一种方式,直接在REPL添加一个新行:CTRL-V,CTRL-J
该CTRL-V基本上让您发送控制代码,然后按Ctrl-J是一个换行符(换行)代码。 这是一个有点尴尬键入但在常规的Python外壳以及在猛砸本身也工作的优势。
编辑:至少在iTerm2,可以将其分配到一个热键为好。 我设置CTRL进入“发送十六进制代码” 0x16 0X0A的。 也可以使用CMD输入或任何其他。
在遭受这个问题了一会儿。 我刚刚发现,使用CTRL-Q 按Ctrl-J时(这是小写字母Q,Ĵ,无需按住Shift键)将换行添加到现有的IPython的编辑会话。
for li in some_list: print(li)
移动光标冒号后和按下Ctrl-Q 按Ctrl-J
for li in some_list:
print(li)
IPython的:5.2.1,iTerm2:3.0.15,MACOS:10.12.6
为了完整:新版本的IPython(0.11+)有一个非常漂亮的图形控制台,让您用箭头导航你的代码,甚至重新定位光标,鼠标。
在多行语句,某些键采取特殊的功能(箭头键导航, 输入插入一个换行符等)。 你必须将光标定位在声明的最后一行的末尾,以获得默认的行为,例如获得向上箭头↑表示“以前的声明”而不是“将光标移动到上一行”。 或让输入指“执行代码”,而不是“在代码的中间插入换行符”。
它的文档是有点稀疏,在不同的页面零散的,所以这里是开始使用它的基本三个环节:
- 简介Qt的控制台
配置IPython的使用nice每个用户配置文件,而不是命令行参数
你感兴趣的ipython_qtconsole_config.py
如何在Windows 7上得到一个IPython的图形控制台?
这样做的一个简单的方法是使用;\
运营商。 ;
以信号通知的命令的其端部和\
以指示该命令在一个新行如下如下:
In[4]: password = "123";\
username = "alpha"
这将让你在IPython中多行命令,而无需调用编辑器
键入Ctrl+q
,然后Enter
。 至于其他人士指出, Ctrl+q
,您可以发送一个字符代码,但击中Ctrl+q
,然后Enter
可能会超过自然Ctrl+q
,然后Ctrl+j
。
另一种选择是输入(
然后Enter
,写入和删除(
事后该解决方案是一个类似于在您打字。 ;\
要说声明未完成。
您可以使用ctrl+on
(即按下控制按钮,输入字符“O”,“N”而持有它)。 你也可以做的两个步骤- ctrl+o
ctrl+n
,但我觉得前者更容易。
-
ctrl-o
-进入多行模式 -
ctrl-n
-访问命令历史前进。 但是,由于没有历史前进,光标只是移动到下一行。
我验证了它用IPython中5.3.0和7.3.0的IPython工作在一台机器上运行的Git的bash 2.18.0 + Windows 7操作系统。