我正在使用PyCharm社区版来创建love2d应用程序。我已经创建了一个运行.bat
文件的热键,以使用lovec.exe
运行该文件,并在应用运行时打开了控制台,然后我创建了一个external tool
来运行{{ 1}}文件通过键盘快捷键使用,当我使用它时,控制台会在PyCharm中打开,它不会编写任何内容,并且在关闭应用程序后,当我运行{{1 }}文件在PyCharm之外功能完善。
我想知道是否有明显的解决方法,或者只是如何通过外部工具在pycharm之外运行控制台。
答案 0 :(得分:1)
此问题归因于Lua延迟写入文件的方式,称为“缓冲”。要更改它,请在文件顶部放置以下命令:
io.stdout:setvbuf( 'no' ) -- Switches buffering for stdout to be off
在Lua的manual中了解更多信息:
file:setvbuf (mode [, size])
设置输出文件的缓冲模式。共有三种可用模式:
- “否” :无缓冲;任何输出操作的结果都会立即显示。
- “已满” :完全缓冲;仅在缓冲区已满或您明确
flush
文件(请参见io.flush
)时才执行输出操作。- “行” :行缓冲;输出缓冲直到输出换行符或某些特殊文件(例如终端设备)的任何输入。
对于后两种情况,
size
指定缓冲区的大小(以字节为单位)。默认值为适当的大小。