从vim中测试单个函数

时间:2016-12-25 08:06:40

标签: python python-3.x vim

我正在从vim中编写python 3代码。

我的文件中有一个功能如下:

def seconds_to_text(seconds):
    return str(datetime.timedelta(seconds=seconds))

我有办法从vim中查看某些输入值的输出结果吗?

如何在不离开vim的情况下查看seconds_to_text(30)输出的内容?

我的计划是使用 Shift V 选择模式,获取相关行,并通过命令行将它们传递给python。

然而,这有几个问题:不导入必要的模块,除非它也被打印,否则不会捕获函数返回值,可能还有其他一些我尚未发现的东西。

2 个答案:

答案 0 :(得分:2)

如何在交互式检查中使用Python?

:!python -i %

运行整个脚本后,您将处于交互式检查模式,然后您可以根据需要测试功能。

如果你安装了ipython,你当然也可以使用ipython。 ipython具有保存命令历史的优点,您可以使用箭头键滚动它们:

:!ipython -i %

答案 1 :(得分:1)

  1. 打开vim
  2. 将光标设置为visual(v)并突出显示要翻译的代码行。 - 在这种情况下:

    import datetime
    def seconds_to_text(seconds):
        return str(datetime.timedelta(seconds=seconds))
    
    print(seconds_to_text(30))
    
  3. 没有print将不会返回任何内容

    1. 突出显示行时,请执行以下命令:'<,'>!python
    2. 请注意,这些行将更改为:“0:00:30”;那u撤消你最后的改变。

      我建议其他选项是查看pycharmstackoverflow question