小编Eri*_*ner的帖子

Python 日志记录 - 仅适用于自己导入的模块

在这里参考这个问题:LINK 如何设置一个配置,它只会记录我的根脚本和我自己的子脚本?链接的问题要求禁用所有导入的模块,但这不是我的意图。

我的根设置

import logging
from exchangehandler import send_mail
log_wp = logging.getLogger(__name__)

logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s - %(levelname)s [%(filename)s]: %(name)s %(funcName)20s - Message: %(message)s',
                    datefmt='%d.%m.%Y %H:%M:%S',
                    filename='C:/log/myapp.log',
                    filemode='a')

handler = logging.StreamHandler()
log_wp.addHandler(handler)

log_wp.debug('This is from root')

send_mail('address@eg.com', 'Request', 'Hi there')
Run Code Online (Sandbox Code Playgroud)

我的子模块 exchangehandler.py

import logging
log_wp = logging.getLogger(__name__)

def send_mail(mail_to,mail_subject,mail_body, mail_attachment=None):
log_wp.debug('Hey this is from exchangehandler.py!')
    m.send_and_save()
Run Code Online (Sandbox Code Playgroud)

我的应用程序日志

16.07.2018 10:27:40 - DEBUG [test_script.py]: __main__                   <module> - Message: This is from root
16.07.2018 10:28:02 - DEBUG [exchangehandler.py]: exchangehandler        send_mail - …
Run Code Online (Sandbox Code Playgroud)

python logging

5
推荐指数
1
解决办法
5446
查看次数

Pandas iloc 返回的范围与 loc 不同

我对 pandas 的 iloc 函数有点困惑,因为我想选择一系列列,但输出与预期不同。行选择也会发生同样的情况,所以我写了一个小例子:

template = pd.DataFrame(
    {'Headline': ['Subheading', '', 'Animal', 'Tiger', 'Bird', 'Lion'],
     'Headline2': ['', 'Weight', 2017, 'group1', 'group2', 'group3'],
     'Headline3': ['', '', 2018, 'group1', 'group2', 'group3']
     })

     Headline Headline2 Headline3
0  Subheading                    
1                Weight          
2      Animal      2017      2018
3       Tiger    group1    group1
4        Bird    group2    group2
5        Lion    group3    group3
Run Code Online (Sandbox Code Playgroud)

我想选择第 1 行到第 2 行,print(template.loc[1:2])结果是我所期望的:

  Headline Headline2 Headline3
1             Weight          
2   Animal      2017      2018
Run Code Online (Sandbox Code Playgroud)

如果我这样做,print(template.iloc[1:2])我会认为我会得到相同的结果,但没有:

  Headline Headline2 Headline3
1             Weight          
Run Code Online (Sandbox Code Playgroud)

我有点困惑,因为我期望这两个函数具有相同的行为,但是如果我选择一个范围(FROM:TO),两个函数的输出会有所不同。
似乎使用 iloc …

python dataframe pandas

4
推荐指数
1
解决办法
1274
查看次数

标签 统计

python ×2

dataframe ×1

logging ×1

pandas ×1