澄清python脚本文件

时间:2010-07-31 21:07:30

标签: python

需要澄清一下如何设计python脚本文件test.py。

  1. 定义函数时,是否必须在导入后立即置于文件的顶部?

  2. 我应该在我的档案中执行检查吗?

  3. 我想在我的服务器上运行此文件作为cron作业。如果文件太大(我也有我的sqlalchemy定义),我怎么能将文件分成多个文件?我希望通过将文件放入服务器的文件夹中来轻松部署。

1 个答案:

答案 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中定义PYTHONPATHPATH。那么你应该没有问题从cron运行你的脚本。