2013-05-01 8 views
5

Python modüllerimin yazarları, e-postaları, sürümleri gibi docstrings'lerine bazı meta bilgileri eklemek istiyorum. Bunu yapmak için kanonik bir yolu var mı? Oldukça uzun bir süre aradım, ama burada ya da web'de kesin otorite ile hiçbir şey bulamadım.Python'da, dizine/dizinden meta bilgi eklemek veya almak için kanonik yol?

PEP 426 -- Metadata for Python Software Packages 2.0 bunlardan bazıları hakkında konuşur. Ve __author__, __version__ gibi görünüyor ve bazı diğerleri pydoc (V2.7) tarafından tanınır. Ayrıca, epydoc ve sphinx-doc vardır.

Bu bilgileri bilgi etiketine dahil etmek için standart bir yol var mı? Ya da küresel değişkenler olarak? Varsa, kabul edilen anahtar kelimeler/değişken adları listesi var mı?

Örnek:

######### 
# Parts 
# <description> 
# 
"""Helper module for selling car parts on the web. 
    Author: Sue Baru 
    EMail: [email protected] 
    Version: 1.0 
""" 

Güncelleme

Bu gerçekten bir cevap değil ama __author__ 'anahtar kelimesini' ve başka bir şey kullanarak sona erdi. Sürüm, bir git repo'ya kontrol edilerek gerçekleştirilir.

"""A pypi demonstration vehicle. 

.. moduleauthor:: Andrew Carter <[email protected]> 

""" 

daha Documenting Your Project Using Sphinx ve this cheatsheet bakınız:

+0

Tanrının aşkı için küresel değişkenleri kullanmayın :). –

+1

@BhavishAgarwal - '__version__' gibi şeyler * paketlerin * LOTS * tarafından kullanılır. En iyisi değil ama daha iyi bir şey olduğunu düşünmüyorum. [PEP3001] 'de bile bahsedilmiştir (http://www.python.org/dev/peps/pep-3001/#unification-of-module-metadata). Nihayetinde, söz konusu dokümanlara gelince, belirli bir sözleşmeyi izleyen çeşitli araçlardan haberdar değilim. – mgilson

+0

@mgilson, standart olmaması ve bunun iç kullanım için olduğunu varsayarak, neden bu bilgiyi json dizesi olarak saklamıyorsunuz? –

cevap

0

Sfenks o (Rest kullanarak) bu şekilde yapar.

+0

Teşekkürler. Bunu da kontrol ettim, ama çok büyük bir çekiç - ve kullanmak için başka bir araç gibi görünüyordu. –

İlgili konular