Python的一个报错——OSError: [Errno 22] Invalid argument
发布日期:2021-05-20 07:39:20 浏览次数:20 分类:精选文章

本文共 487 字,大约阅读时间需要 1 分钟。

为了便于获取当前终端的行列宽度 Python 脚本编写者可以使用以下代码段:

columns, rows = os.get_terminal_size()

通常情况下,这段代码能够正常运行并返回如上示例所示的终端尺寸信息。然而,若脚本的某些部分通过管道(如 ./hubble_bench.py --help | less )输出结果,则可能会导致终端尺寸获取失败,提示类似以下错误信息:

Traceback (most recent call last):  File "./hubble_bench.py", line 40, in 
columns, rows = os.get_terminal_size()OSError: [Errno 22] Invalid argument

为了解决此问题,可以改用 shutil 模块中的 get_terminal_size() 方法替换 os 模块:

columns, rows = shutil.get_terminal_size()

此替换方式能够有效解决上述问题,使脚本能够正确获取终端尺寸。

上一篇:Python的addict模块
下一篇:Python的h5py模块

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2025年04月21日 20时22分31秒