本文目录一览:
Python编译器控制台作用
Python控制台是一种执行命令的快速方法,可以访问完整的PythonAPI、查询命令历史记录和自动补全。
命令提示符是Python3.x的典型操作,加载解释器,并在提示符处接受命令。
Python控制台是内置的用于探索Blender的可能性的绝佳方法。Python控制台可用于测试小段python,然后粘贴到更大的脚本中。
如何打开python控制台
打开python控制台的方法:1、按下键盘上的【win+r】快捷键打开运行;2、在输入框中输入cmd,点击【确定】;3、在打开的命令提示符中执行python命令,这样就成功打开python控制台了。
具体方法:
(推荐教程:Python入门教程)
1、按下键盘上的【win+r】快捷键打开运行;
2、在输入框中输入cmd,点击【确定】;
3、在打开的命令提示符中执行python命令,这样就成功打开python控制台了。
python中怎么用控制台使用方法
本文实例讲述了Python显示进度条的方法,是Python程序设计中非常实用的技巧。分享给大家供大家参考。具体方法如下:
首先,进度条和一般的print区别在哪里呢?
答案就是print会输出一个\n,也就是换行符,这样光标移动到了下一行行首,接着输出,之前已经通过stdout输出的东西依旧保留,而且保证我们在下面看到最新的输出结果。
进度条不然,我们必须再原地输出才能保证他是一个进度条,否则换行了怎么还叫进度条?
最简单的办法就是,再输出完毕后,把光标移动到行首,继续在那里输出更长的进度条即可实现,新的更长的进度条把旧的短覆盖,就形成了动画效果。
可以想到那个转义符了吧,那就是\ r。
转义符r就可以把光标移动到行首而不换行,转义符n就把光标移动到行首并且换行。
在python中,输出stdout(标准输出)可以使用sys.stdout.write
例如:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2
#Author: ihipop@gmail.com
##2010-10-27 22:07
"""
Usage:
Just A Template
"""
from __future__ import division
import sys,time
j = '#'
if __name__ == '__main__':
for i in range(1,61):
j += '#'
sys.stdout.write(str(int((i/60)*100))+'% ||'+j+'-'+"\r")
sys.stdout.flush()
time.sleep(0.5)
第二种思路是用转义符\b
转义符\b是退格键,也就是说把输出的光标往回退格子,这样就可以不用+=了,例如:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2
#Author: ihipop@gmail.com
#2010-10-27 22:07
"""
Usage:
Just A Template
"""
from __future__ import division
import sys,time
if __name__ == '__main__':
for i in range(1,61):
sys.stdout.write('#'+'-'+"\b\b")
sys.stdout.flush()
time.sleep(0.5)
光标回退2格,写个#再回退,再写,达到增长的目的了
不过写这么多似乎是废话,在耳边常常听到一句话:那就是不要重复造轮子。实际上python有丰富发lib帮你实现这个东西,你完全可以把心思放在逻辑开发上而不用注意这些小细节
下面要介绍的就是这个类“progressbar”,使用easy_install可以方便的安装这个类库,其实就一个文件,拿过来放到文件同一个目录下面也直接可以import过来
如下图所示:
下面就是基本使用举例:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env python
# -*- coding=utf-8 -*-
#Using GPL v2
#Author: ihipop@gmail.com
#2010-10-27 22:53
"""
Usage:
Just A Template
"""
from __future__ import division
import sys,time
from progressbar import *
total = 1000
#基本用法
progress = ProgressBar()
for i in progress(range(total)):
time.sleep(0.01)
pbar = ProgressBar().start()
for i in range(1,1000):
pbar.update(int((i/(total-1))*100))
time.sleep(0.01)
pbar.finish()
#高级用法
widgets = ['Progress: ', Percentage(), ' ', Bar(marker=RotatingMarker('-=')),
' ', ETA(), ' ', FileTransferSpeed()]
pbar = ProgressBar(widgets=widgets, maxval=10000000).start()
for i in range(1000000):
# do something
pbar.update(10*i+1)
time.sleep(0.0001)
pbar.finish()
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
# coding:utf-8
import sys
import time
from progressbar import AnimatedMarker, Bar, BouncingBar, Counter, ETA, \
FileTransferSpeed, FormatLabel, Percentage, \
ProgressBar, ReverseBar, RotatingMarker, \
SimpleProgress, Timer
examples = []
def example(fn):
try:
name = 'Example %d' % int(fn.__name__[7:])
except:
name = fn.__name__
def wrapped():
try:
sys.stdout.write('Running: %s\n' % name)
fn()
sys.stdout.write('\n')
except KeyboardInterrupt:
sys.stdout.write('\nSkipping example.\n\n')
examples.append(wrapped)
return wrapped
@example
def example0():
pbar = ProgressBar(widgets=[Percentage(), Bar()], maxval=300).start()
for i in range(300):
time.sleep(0.01)
pbar.update(i + 1)
pbar.finish()
@example
def example1():
widgets = ['Test: ', Percentage(), ' ', Bar(marker=RotatingMarker()),
' ', ETA(), ' ', FileTransferSpeed()]
pbar = ProgressBar(widgets=widgets, maxval=10000000).start()
for i in range(1000000):
# do something
pbar.update(10 * i + 1)
pbar.finish()
@example
def example2():
class CrazyFileTransferSpeed(FileTransferSpeed):
"""It's bigger between 45 and 80 percent."""
def update(self, pbar):
if 45 pbar.percentage() 80:
return 'Bigger Now ' + FileTransferSpeed.update(self, pbar)
else:
return FileTransferSpeed.update(self, pbar)
widgets = [CrazyFileTransferSpeed(), ' ', Bar(), ' ',
Percentage(), ' ', ETA()]
pbar = ProgressBar(widgets=widgets, maxval=10000000)
# maybe do something
pbar.start()
for i in range(2000000):
# do something
pbar.update(5 * i + 1)
pbar.finish()
@example
def example3():
widgets = [Bar(''), ' ', ETA(), ' ', ReverseBar('')]
pbar = ProgressBar(widgets=widgets, maxval=10000000).start()
for i in range(1000000):
# do something
pbar.update(10 * i + 1)
pbar.finish()
@example
def example4():
widgets = ['Test: ', Percentage(), ' ',
Bar(marker='0', left='[', right=']'),
' ', ETA(), ' ', FileTransferSpeed()]
pbar = ProgressBar(widgets=widgets, maxval=500)
pbar.start()
for i in range(100, 500 + 1, 50):
time.sleep(0.2)
pbar.update(i)
pbar.finish()
@example
def example5():
pbar = ProgressBar(widgets=[SimpleProgress()], maxval=17).start()
for i in range(17):
time.sleep(0.2)
pbar.update(i + 1)
pbar.finish()
@example
def example6():
pbar = ProgressBar().start()
for i in range(100):
time.sleep(0.01)
pbar.update(i + 1)
pbar.finish()
@example
def example7():
pbar = ProgressBar() # Progressbar can guess maxval automatically.
for i in pbar(range(80)):
time.sleep(0.01)
@example
def example8():
pbar = ProgressBar(maxval=80) # Progressbar can't guess maxval.
for i in pbar((i for i in range(80))):
time.sleep(0.01)
@example
def example9():
pbar = ProgressBar(widgets=['Working: ', AnimatedMarker()])
for i in pbar((i for i in range(50))):
time.sleep(.08)
@example
def example10():
widgets = ['Processed: ', Counter(), ' lines (', Timer(), ')']
pbar = ProgressBar(widgets=widgets)
for i in pbar((i for i in range(150))):
time.sleep(0.1)
@example
def example11():
widgets = [FormatLabel('Processed: %(value)d lines (in: %(elapsed)s)')]
pbar = ProgressBar(widgets=widgets)
for i in pbar((i for i in range(150))):
time.sleep(0.1)
@example
def example12():
widgets = ['Balloon: ', AnimatedMarker(markers='.oOa href=""@*/a ')]
pbar = ProgressBar(widgets=widgets)
for i in pbar((i for i in range(24))):
time.sleep(0.3)
@example
def example13():
# You may need python 3.x to see this correctly
try:
widgets = ['Arrows: ', AnimatedMarker(markers='←↖↑↗→↘↓↙')]
pbar = ProgressBar(widgets=widgets)
for i in pbar((i for i in range(24))):
time.sleep(0.3)
except UnicodeError:
sys.stdout.write('Unicode error: skipping example')
@example
def example14():
# You may need python 3.x to see this correctly
try:
widgets = ['Arrows: ', AnimatedMarker(markers='◢◣◤◥')]
pbar = ProgressBar(widgets=widgets)
for i in pbar((i for i in range(24))):
time.sleep(0.3)
except UnicodeError:
sys.stdout.write('Unicode error: skipping example')
@example
def example15():
# You may need python 3.x to see this correctly
try:
widgets = ['Wheels: ', AnimatedMarker(markers='◐◓◑◒')]
pbar = ProgressBar(widgets=widgets)
for i in pbar((i for i in range(24))):
time.sleep(0.3)
except UnicodeError:
sys.stdout.write('Unicode error: skipping example')
@example
def example16():
widgets = [FormatLabel('Bouncer: value %(value)d - '), BouncingBar()]
pbar = ProgressBar(widgets=widgets)
for i in pbar((i for i in range(180))):
time.sleep(0.05)
@example
def example17():
widgets = [FormatLabel('Animated Bouncer: value %(value)d - '),
BouncingBar(marker=RotatingMarker())]
pbar = ProgressBar(widgets=widgets)
for i in pbar((i for i in range(180))):
time.sleep(0.05)
@example
def example18():
widgets = [Percentage(),
' ', Bar(),
' ', ETA(),
' ', AdaptiveETA()]
pbar = ProgressBar(widgets=widgets, maxval=500)
pbar.start()
for i in range(500):
time.sleep(0.01 + (i 100) * 0.01 + (i 400) * 0.9)
pbar.update(i + 1)
pbar.finish()
@example
def example19():
pbar = ProgressBar()
for i in pbar([]):
pass
pbar.finish()
try:
for example in examples:
example()
except KeyboardInterrupt:
sys.stdout('\nQuitting examples.\n')
如何使用Python交互式控制台
进入互动控制台
可以从任何安装了Python的本地计算机或服务器访问Python交互式控制台。
您通常希望使用的命令输入Python的默认版本的Python交互式控制台:
python
如果您设置了编程环境 ,则可以启动环境并访问在该环境中安装的Python和模块版本,方法是首先进入该环境:
cd environments. my_env/bin/activate
然后键入python命令:
python
在这种情况下,Python的默认版本是Python 3.5.2,一旦我们输入命令,它将显示在输出中,以及相关版权声明和一些您可以输入额外信息的命令:
OutputPython 3.5.2 (default, Nov 17 2016, 17:05:23) [GCC 5.4.0 20160609] on linuxType "help", "copyright", "credits" or "license" for more information.
下一个命令的主要提示是三个大于符号( ):
您可以通过将版本号附加到命令来定位特定版本的Python,而不需要空格:
python2.7
OutputPython 2.7.12 (default, Nov 19 2016, 06:48:10) [GCC 5.4.0 20160609] on linux2Type "help", "copyright", "credits" or "license" for more information.
在这里,我们收到了使用Python 2.7.12的输出。 如果这是我们的默认版本的Python 2,我们也可以使用命令python2输入到这个交互式控制台。
或者,我们可以使用以下命令调用默认的Python 3版本:
python3
OutputPython 3.5.2 (default, Nov 17 2016, 17:05:23) [GCC 5.4.0 20160609] on linuxType "help", "copyright", "credits" or "license" for more information.
我们也可以使用python3.5命令调用上述交互式控制台。
随着Python交互式控制台的运行,我们可以继续使用Python的shell环境。
使用Python交互控制台
Python交互式解释器接受Python语法,您将遵循前缀。
例如,我们可以为变量分配值:
birth_year = 1868
一旦我们将整数值1868分配给变量birth_year ,我们将按返回并接收一个新行,其中三个大于标号作为前缀:
birth_year = 1868
我们可以继续分配变量,然后用运算符进行数学运算 ,得到计算结果:
birth_year = 1868 death_year = 1921 age_at_death = death_year - birth_year print(age_at_death)53
正如我们在文件中使用脚本一样,我们分配了变量,从另一个中减去一个变量,并要求控制台打印表示差异的变量。
就像任何形式的Python一样,您也可以使用交互式控制台作为计算器:
203 / 2010.15
在这里,我们将整数203除以20 ,并返回了10.15的商。
多行
当我们编写Python代码时,将覆盖多行,解释器将使用辅助提示符连续行,三个点( ... )。
要突破这些连续线,您需要按两次ENTER 。
我们可以在下面的代码中看到这样的代码,它分配两个变量,然后使用条件语句来确定打印到控制台的内容:
sammy = 'Sammy' shark = 'Shark' if len(sammy) len(shark):... print('Sammy codes in Java.')... else:... print('Sammy codes in Python.')... Sammy codes in Python.
在这种情况下,两个字符串的长度相等,所以else语句打印。
请注意,您将需要保留Python缩小四个空格的约定,否则您将收到错误:
if len(sammy) len(shark):... print('Sammy codes in Java.')
File "stdin", line 2
print('Sammy codes in Java.')
^IndentationError: expected an indented block