python2 在 BASH shell 上自动完成文件名,python3 则不行

python2 在 BASH shell 上自动完成文件名,python3 则不行

当我在 BASH 终端上输入时,我习惯输入“python a_long_filename.py”,但总是使用“tab->”键自动完成文件名,这节省了我输入错误的时间。这适用于 python2,但不适用于 python3。

是否有一些我可以安装的包,或者一些我可以更改的设置,以启用 python3 的自动完成功能?

答案1

正如我们在评论中讨论的那样,您尝试在带有.py3扩展名的脚本上使用 Bash 自动完成功能。问题是,Bash 只会自动完成带有.py扩展名的脚本。

我建议.py即使对于 Python 3 脚本也使用扩展,因为它.py3是非标准的。如果脚本需要 Python 3,您可以...

  • 使用shebang:#!/usr/bin/env python3
  • 检查是否sys.version_info.major == 3
    • 或者检查是否>= 3允许向前兼容
  • 也许可以用于from __future__ import ...实现向后兼容

相关内容