在这里参考这个问题: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) 我对 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 …