http://www.doxygen.nl/manual/docblocks.html中的"Python中的特殊文档块" 给出了使用Python进行doxygen使用的示例.
在doxygen生成的相应HTML文档中(Web中的示例输出),如果单击包名称,则会显示与包关联的所有描述,类和函数.
如果我从doxygen文档中获取相同的示例脚本,使用"doxygen -g config"创建配置文件并使用"doxygen config"生成html,则输出不同.如果单击包名称,则仅显示包描述,但不显示类和函数.
我需要在配置文件或某些xml方案中进行更改,以便在包文档下包含类和函数.
编辑1:上面网页上的示例:
## @package pyexample
# Documentation for this module.
#
# More details.
## Documentation for a function.
#
# More details.
def func():
pass
## Documentation for a class.
#
# More details.
class PyClass:
## The constructor.
def __init__(self):
self._memVar = 0;
## Documentation for a method.
# @param self The object pointer.
def PyMethod(self):
pass
## A class variable.
classVar = 0;
## @var _memVar
# a member …Run Code Online (Sandbox Code Playgroud) 任何人都可以帮助我在多个python进程之间共享列表.问题是让self.ID_List和self.mps_in_process在以下代码中工作.
import time, random
from multiprocessing import Process #, Manager, Array, Queue
class MP_Stuff():
def __init__(self, parent, id):
time.sleep(1 + random.random()*10) # simulate data processing
parent.killMP(id)
class ParamHandler():
def doFirstMP(self, IDs):
self.mps_in_process = []
self.ID_List = IDs
id = self.ID_List.pop(0)
p = Process(target=MP_Stuff, args=(self, id))
self.mps_in_process.append(id)
p.start()
def doMP(self):
for tmp in range(3): # nr of concurrent processes
if len(self.ID_List) > 0:
id = self.ID_List.pop(0)
p = Process(target=MP_Stuff, args=(self, id))
self.mps_in_process.append(id)
p.start()
def killMP(self, kill_id):
self.mps_in_process.remove(kill_id)
self.doMP()
if __name__ == '__main__': …Run Code Online (Sandbox Code Playgroud) 如何使用Python检测用户机器中的列表分隔符?
需要在用户计算机上创建CSV文件,并且必须自动检测列表分隔符(以便excel可以读取CSV文件).
我发现Excel从"区域选项 - >数字 - >列表分隔符"中获取CSV元素分隔符.Python中的locale模块用于检测文化设置,但它(locale.localeconv)不包含列表分隔符.用dialect ='excel'打开CSV编写器没有帮助.知道如何获得正确的分隔符吗?
编辑
以下代码似乎有效(但不能接受任何upvotes,因为解决方案不是我的)
import locale
langlocale = locale.getdefaultlocale()[0]
locale.setlocale(locale.LC_ALL, langlocale)
dp = locale.localeconv()['decimal_point']
delimiter = ','
if dp == ',':
delimiter = ';'
Run Code Online (Sandbox Code Playgroud) 如果通过子进程调用该程序,则从程序的记录器获取消息时会出现问题。
这是程序BooFoo.py,它使用记录器将消息打印到文件和控制台窗口:
import logging
LOG_FILENAME = 'example.log'
logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG)
logger = logging.getLogger('main')
logger.addHandler(logging.StreamHandler())
print 'print foo'
logger.info('logger boo')
Run Code Online (Sandbox Code Playgroud)
这是程序CallBooFoo.py:
import subprocess
proc = subprocess.Popen(['python BooFoo.py'], bufsize=512, stdin = None,
stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell=True)
proc_out, proc_err = proc.communicate()
print proc_out
Run Code Online (Sandbox Code Playgroud)
CallBooFoo.py不会打印“ logger boo”。任何想法如何解决这个问题?使用os.system是可行的,但是由于某些其他原因,这不是解决方案。