Python code file prototype

Grant Edwards invalid at invalid.invalid
Fri Feb 17 12:02:31 EST 2012


On 2012-02-17, John Gordon <gordon at panix.com> wrote:
> In <66ea0353-02ee-4152-947a-97b44ff3ec45 at p7g2000yqk.googlegroups.com> Bruce Eckel <lists.eckel at gmail.com> writes:
>
>> There's an option when you do this to insert default file contents, so
>> I began searching the web for some kind of prototype Python file that
>> would be appropriate to start with. I'm certain I've seen this before
>> and that there's been discussions about the best starting point for a
>> python code file, but I find I can't get any search hits for it.
>
> Here's what PyScripter inserts in a new python file:
>
>   #---------------------------------------------------------------------
>   # Name:        module1
>   # Purpose:
>   #
>   # Author:      $USERNAME
>   #
>   # Created:     $DATE
>   # Copyright:   (c) $USERNAME $YEAR
>   # Licence:     <your licence>
>   #---------------------------------------------------------------------
>   #!/usr/bin/env python
>
>   def main():
>       pass
>
>   if __name__ == '__main__':
>       main()
>
>
> Where $USERNAME, $DATE and $YEAR are expanded to the actual values.

That's just plain broken.

The "#!" line has to be first thing in the file for it to be
recognized.

Apart from that, my personal opinion is that comment blocks like that
are bad practice.  They're too often wrong (e.g. file got copied
modified, but comment block not updated), and the right place for
metadata like that is the filesystem and the source-control system
(git, mercurial, subversion, CVS, whatever -- anything but VSS).

-- 
Grant





More information about the Python-list mailing list