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

wan*_*ree 3 python

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

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

mat*_*t b 6

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

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

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