gpt4 book ai didi

python - 导入的 Python 模块中的命令行参数

转载 作者:太空宇宙 更新时间:2023-11-03 13:24:11 24 4
gpt4 key购买 nike

这更多是编码风格的问题,但我有一个处理特定文件(或一组文件)的脚本。允许用户将这些文件作为命令行参数提供会很好。当然,也有可能是用户忘记提供这些,或者文件名是无效的,所以我不得不在这里引入一个try/except。

问题是,将来可能有人想要导入我的模块。但是,我不知道 程序可能需要什么命令行参数。此外,如果在我的模块访问命令行参数时抛出错误,导入我的模块的脚本似乎会更好地处理它。但是,如果抛出错误,我的脚本仍然需要能够独立处理。

是否有解决此问题的聪明方法,或者是否是完全放弃命令行参数的最佳解决方案?

最佳答案

通常的程序:

import sys

def main(*files):
# your program's logic goes here

if __name__ == "__main__": #i.e. run directly
try:
main(*sys.argv[1:])
except IOError:
handle_error()

如果导入,__name__ 将是 != "__main__",因此实际上什么都没有发生,导入器可以调用 main(file1, file2)。但是,如果此脚本是主脚本(即未导入),它只会在 main 中执行它现在执行的操作。

关于python - 导入的 Python 模块中的命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3569523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com