标签: python-interactive

在Python交互式会话中禁用自动打印

我将参加一个Python研讨会,在我的大学Python中教一些初级程序员.

我正在寻找一种方法来修改Python交互式会话的默认行为,以便表达式不会自动打印出结果.例如,进行以下交互式会话:

wil@calcifer:~$ python
Python 2.7.3 (default, Aug  1 2012, 05:16:07)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> x = 5
>>> y = 7
>>> x + y
12
>>> first_name = "Test"
>>> last_name = "Person"
>>> first_name + last_name
'TestPerson'
>>>
Run Code Online (Sandbox Code Playgroud)

这将强制使用该print语句以避免以后混淆.这并不重要,但我很惊讶我无法在任何地方找到任何设置.

我可以事先预先配置机器,所以任何解决方案都可以.有谁知道这是否可能,或者交互式会话的哪些变化会产生这种效果?

python python-interactive python-2.7

1
推荐指数
1
解决办法
1305
查看次数

为什么我的Python Interactive shell中的列表理解会附加一个Nones列表?

我在交互式shell中测试了一些Django功能

这是我尝试探测这些对象,请注意最后的Nones列表

>>> [print(foo) for foo in CharacterSkillLink.objects.all() if foo.speciality]
Streetwise (Street Countdown) Roran
[None]
Run Code Online (Sandbox Code Playgroud)

并且具有更正统的列表理解:

>>> [print(foo) for foo in range(1,10)]
1
2
3
4
5
6
7
8
9
[None, None, None, None, None, None, None, None, None]
Run Code Online (Sandbox Code Playgroud)

九个Nones,都是连续的.

我为什么要这样做?

python python-interactive python-3.x

1
推荐指数
1
解决办法
125
查看次数

禁止导入警告?

假设我编写了一个必须使用该imp模块的 python 包,并且我的包是“TestModule”,如下所示:

import imp
import pip
import sys

def update_and_reload(module, *args, **kwargs):
    pip.main(['install', module, '--upgrade', '--user'])
    return imp.reload(module)
Run Code Online (Sandbox Code Playgroud)

当我import TestModule在终端中执行此操作时,我收到了有关 的待弃用警告imp。我如何使imp的警告不发生/过滤掉?

python warnings python-import python-interactive

1
推荐指数
1
解决办法
5958
查看次数

如何在 windows powershell ISE 中运行 python 解释器?

根据微软的说法,我们不能在它自己的 powershell ISE 控制台中运行像 python 这样的交互式控制台。根据一些消息来源,它在后台运行。我们可以在前台运行相同的python 解释器吗?

powershell-ise python-interactive

1
推荐指数
1
解决办法
5166
查看次数

如何检查交互式shell中表达式的逻辑值?

有时我想检查表达式的逻辑值,所以我在Python(或IPython)中键入它并得到结果:

>>> a==3
True
Run Code Online (Sandbox Code Playgroud)

但在其他情况下它不会那样工作(这里字符串是None):

>>> string
>>>
Run Code Online (Sandbox Code Playgroud)

所以我检查逻辑值如下:

>>> if string: print('True')
...
>>>
Run Code Online (Sandbox Code Playgroud)

是否有更短的方法来检查表达式的逻辑值?任何返回TrueFalse的函数与在if -condition中计算的函数相同?

python python-interactive

1
推荐指数
2
解决办法
85
查看次数

在Python交互式解释器中,有没有办法引用最后一个命令的结果?

当我使用Python交互式解释器时,我经常发现自己这样做:

>>> a = "starting value"
>>> foo(a)
"something I don't want"
>>> bar(a)
"what I wanted"
>>> a = bar(a)
Run Code Online (Sandbox Code Playgroud)

有没有办法做到:

>>> bar(a)
"what I wanted"
>>> a = thing_from_before
Run Code Online (Sandbox Code Playgroud)

也就是说,有没有办法引用我运行的最后一个命令打印出来的变量?

python python-interactive

0
推荐指数
1
解决办法
50
查看次数