相关疑难解决方法(0)

如何清除解释器控制台?

像大多数Python开发人员一样,我通常会打开一个控制台窗口,并运行Python解释器来测试命令,dir()内容help() stuff等.

像任何控制台一样,过了一段时间后,过去的命令和打印的可见积压变得混乱,有时在重新运行相同的命令几次时会感到困惑.我想知道是否以及如何清除Python解释器控制台.

我听说过要进行系统调用,要么cls在Windows clear上调用,要么在Linux 上调用,但我希望有一些东西可以命令解释器本身去做.

注意:我在Windows上运行,所以Ctrl+L不起作用.

python windows console clear

299
推荐指数
15
解决办法
52万
查看次数

大熊猫运营期间的进度指标(python)

我经常对超过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 ipython pandas

118
推荐指数
6
解决办法
5万
查看次数

Python - 打印输出时读取用户输入

我正在尝试编写一个(命令行)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 user-input

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

在蟒蛇中的刽子手:有线被替换?

我正在努力用我目前所知的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)

python scripting

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

标签 统计

python ×4

clear ×1

console ×1

ipython ×1

pandas ×1

scripting ×1

user-input ×1

windows ×1