我正在尝试将所有过度使用的打印件更改为记录。*主要是因为我想要一个日志文件。
logger = logging.getLogger(__name__)
formatter = logging.Formatter("{levelname}:{name}:{message}", style="{")
file_handler = logging.FileHandler("log.txt")
file_handler.setFormatter(formatter)
file_handler.setLevel(logging.DEBUG)
logger.addHandler(file_handler)
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
console_handler.setFormatter(formatter)
logger.addHandler(console_handler)
logger.setLevel(logging.DEBUG)
这就是我现在拥有的代码,它正确地打印到控制台但不输出任何文件。该文件甚至是随机创建的,但是当它确实存在时,它总是空的。
我正在使用logger.debug()
和logger.info()
,而不是logging.*
。
只需将相同的代码复制到空脚本,导入按预期工作即可。怪异。
我发现a question与我有同样的问题,他说他找到了解决办法,但他不同意:(
这是我的source。每当torrent的状态发生变化时,代码都会被uTorrent调用。这是我在uTorrent中设置的命令:
py C:\Users\Gcq\Downloads\Torrent\torrent.py -n %N -d %D -f %F -p %P -c %S -s %M
py因为我在我的脚本顶部有shebang告诉py使用python3。我也安装了python2.7 命令行otions是uTorrent公开的信息。
答案 0 :(得分:1)
我无法重现问题(我安装了Python 3.3.0而不是3.3.2,但这不应该是相关的。请参阅此截图:
行为似乎符合预期,因此我会更仔细地查看您的Python安装/配置,或您上面未显示的实际代码的任何其他部分。
答案 1 :(得分:0)
我认为'好吧,我没有告诉python将输出文件放在哪里'确实,它是在uTorrent基础文件夹中。
有了所有预期的输出,所以现在一切都很完美。