从python中的main函数之外的某个地方调用sys.argv是不好的约定

我正在写一个脚本,我有一个函数,称之为f(),需要一个命令行参数(需要打开的文件名).但是,f()不会直接在main函数中调用.

我想知道从f()直接调用sys.argv [1]是否是错误的编码约定?如果我不这样做,我必须将它作为参数传递给最终调用f()的所有函数.

最佳答案
总是假设您的函数需要的参数在命令行中可用是一种不好的做法 – 如果以其他方式调用此代码该怎么办?

函数应声明其需要访问的数据的输入参数.

至少,将必要的参数传递给f()而不是访问sys.argv有助于使f()更加可重用.

转载注明原文:从python中的main函数之外的某个地方调用sys.argv是不好的约定 - 代码日志