像大多数Python开发人员一样,我通常会打开一个控制台窗口,并运行Python解释器来测试命令,dir()内容help() stuff等.
像任何控制台一样,过了一段时间后,过去的命令和打印的可见积压变得混乱,有时在重新运行相同的命令几次时会感到困惑.我想知道是否以及如何清除Python解释器控制台.
我听说过要进行系统调用,要么cls在Windows clear上调用,要么在Linux 上调用,但我希望有一些东西可以命令解释器本身去做.
注意:我在Windows上运行,所以Ctrl+L不起作用.
我经常对超过1500万行的数据帧执行pandas操作,我很乐意访问特定操作的进度指示器.
是否存在基于文本的pandas split-apply-combine操作的进度指示器?
例如,在以下情况中:
df_users.groupby(['userID', 'requestDate']).apply(feature_rollup)
Run Code Online (Sandbox Code Playgroud)
where feature_rollup是一个涉及多少DF列的函数,并通过各种方法创建新的用户列.对于大型数据帧,这些操作可能需要一段时间,因此我想知道是否可以在iPython笔记本中使用基于文本的输出来更新我的进度.
到目前为止,我已经尝试了Python的规范循环进度指示器,但它们没有以任何有意义的方式与pandas交互.
我希望在pandas库/文档中我忽略了一些让人们知道split-apply-combine进度的东西.一个简单的实现可能会查看apply函数工作的数据帧子集的总数,并将进度报告为这些子集的已完成部分.
这可能是需要添加到库中的吗?
我正在尝试编写一个(命令行)python程序,该程序将接受来自用户的输入,同时仍在其上方打印数据.我正在尝试制作聊天程序.
例:
[stuff prints here]
hello
warning: the time is 27:64
Please enter your input: asdf
Run Code Online (Sandbox Code Playgroud)
所以我输入了asdf,但在输入时,上面的输出会继续更新.如果我想,我可以在生成输出时继续输入.然后如果我按回车键,就会发生其他事情.输入字段应始终低于输出文本; 如果显示更多文本,则输入字段被按下(但其内容保持不变).
我的想法是:
我意识到GUI会更容易做到.我可能最终只是用tkinter这样做了.但我仍然想知道在命令行的python中是否可以使用这种东西.
谢谢.
编辑:
我忘了提到我确实知道如何用回车符(\r)擦除文本.问题实际上是确保当我擦除行时,我不清除用户输入:所以如果在我打字时出现一个新行,我不希望我到目前为止输入的内容被删除.
我正在努力用我目前所知的Python编写一个简单的Hangman游戏(我正在以艰难的方式学习Python),到目前为止我有这个:
from sys import argv
import random
script_name, dict_file = argv
hang_list = open(dict_file).read().splitlines()
hang_list = filter(None, hang_list)
word = random.choice(hang_list)
guesses = ''
def compare_words():
global guesses
new_word = ''
for char in word:
if char in guesses:
new_word += char
else:
new_word += "_"
return new_word
def test_letter():
global guesses
letter = raw_input("Guess a letter: ")
guesses += letter
new_word = compare_words()
print "\nCurrent guesses: %s" % guesses
print "%s\n\n" % new_word
if new_word == word:
print "You …Run Code Online (Sandbox Code Playgroud)