需要澄清一下如何设计python脚本文件test.py。
定义函数时,是否必须在导入后立即置于文件的顶部?
我应该在我的档案中执行主检查吗?
我想在我的服务器上运行此文件作为cron作业。如果文件太大(我也有我的sqlalchemy定义),我怎么能将文件分成多个文件?我希望通过将文件放入服务器的文件夹中来轻松部署。
答案 0 :(得分:2)
大多数脚本如下所示:
import module1
import module2
CONSTANT=...
def foo():
...
def bar():
....
class Baz():
....
def run(verbose=False):
....
if __name__=='__main__':
import optparse
def parse_options():
usage = 'usage: %prog [options]'
parser = optparse.OptionParser(usage=usage)
parser.add_option('-v', '--verbose', dest='verbose',
action='store_true',
default=False,
help="verbose")
return parser.parse_args()
def cli():
opt,args=parse_options()
run(verbose=opt.verbose)
cli()
因此,脚本的主体主要由函数/类定义组成。那里(通常)是很少的代码,不在函数/类定义中。
我会尝试以任何方式对功能进行分组,以促进组织和可读性。如果您认为函数可以在该特定脚本以外的位置重用,则将其放在模块中,然后将该模块导入此脚本。
在crontab中定义PYTHONPATH
和PATH
。那么你应该没有问题从cron运行你的脚本。