Re: Dateien herunterladen und in einem Verzeichnis ablegen
Verfasst: Mittwoch 12. April 2017, 17:19
Fehler im Mail-gateway gefunden. Jetzt landet die Email im Posteingangsordner. Danke
Seit 2002 Diskussionen rund um die Programmiersprache Python
https://www.python-forum.de/
Code: Alles auswählen
def initialize_logger():
logfile_name = generate_logfile()
print(logfile_name)
ensure_logdir_exists(logfile_name)
logger = logging.getLogger('Data download')
logger.setLevel(logging.DEBUG)
handler = logging.FileHandler(logfile_name)
handler.setLevel(logging.DEBUG)
formatter = logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
handler.setFormatter(formatter)
logger.addHandler(handler)
# application' code
logger.debug('debug message')
logger.info('info message')
logger.warn('warn message')
logger.error('error message')
logger.critical('critical message')
Code: Alles auswählen
def fetch_whole_year(symbol, year):
for symbol in symbol:
last_week = datetime.date(year, 12, 31).isocalendar()[1]
for week in range(1, last_week + 1):
try:
if not exists_file(symbol, year, week):
data = pull_file(symbol, year, week)
print_data_length(data)
save_file(symbol, year, week, data)
except Exception as e:
logging.exception(e)
else:
print("File for {}/{}/{} already fetched.".format(
symbol, year, week)
)
Code: Alles auswählen
Traceback (most recent call last):
File "TickDataCsv.py", line 103, in fetch_whole_year
data = pull_file(symbol, year, week)
File "TickDataCsv.py", line 55, in pull_file
response = urllib2.urlopen(url)
File "/usr/lib64/python2.7/urllib2.py", line 154, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib64/python2.7/urllib2.py", line 437, in open
response = meth(req, response)
File "/usr/lib64/python2.7/urllib2.py", line 550, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib64/python2.7/urllib2.py", line 475, in error
return self._call_chain(*args)
File "/usr/lib64/python2.7/urllib2.py", line 409, in _call_chain
result = func(*args)
File "/usr/lib64/python2.7/urllib2.py", line 558, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 404: Not Found
ERROR:root:HTTP Error 404: Not Found
Sicherlich hast du dir schon die offizielle Dokumentation zu Logging samt Beispielen angeschaut, bevor du hier Grundsätzliches erfragst?aaron hat geschrieben:Ich brauche ein Beispielprogramm bei dem ich einmal sehe, wie das Logging richtig eingesetzt wird.
Code: Alles auswählen
def initialize_logger():
logfile_name = generate_logfile()
print(logfile_name)
ensure_logdir_exists(logfile_name)
logger = logging.getLogger('Data download')
logger.setLevel(logging.DEBUG)
handler = logging.FileHandler(logfile_name)
handler.setLevel(logging.DEBUG)
formatter = logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
handler.setFormatter(formatter)
logger.addHandler(handler)
# application' code
logger.debug('debug message')
logger.info('info message')
logger.warn('warn message')
logger.error('error message')
logger.critical('critical message')
Code: Alles auswählen
def fetch_whole_year(symbol, year):
for symbol in symbol:
last_week = datetime.date(year, 12, 31).isocalendar()[1]
for week in range(1, last_week + 1):
try:
if not exists_file(symbol, year, week):
data = pull_file(symbol, year, week)
print_data_length(data)
save_file(symbol, year, week, data)
except Exception as e:
logging.exception(e)
else:
print("File for {}/{}/{} already fetched.".format(
symbol, year, week)
)
Code: Alles auswählen
def main():
initialize_logger()
Code: Alles auswählen
import os
import logging
def generate_logfile():
return "/tmp/test-foo/logfile.log"
def ensure_logdir_exists(logfile_name):
dir = os.path.dirname(logfile_name)
if not os.path.exists(dir):
os.makedirs(dir)
def initialize_logger():
logfile_name = generate_logfile()
print(logfile_name)
ensure_logdir_exists(logfile_name)
logger = logging.getLogger('Data download')
logger.setLevel(logging.DEBUG)
handler = logging.FileHandler(logfile_name)
handler.setLevel(logging.DEBUG)
formatter = logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
handler.setFormatter(formatter)
logger.addHandler(handler)
# application' code
logger.debug('debug message')
logger.info('info message')
logger.warn('warn message')
logger.error('error message')
logger.critical('critical message')
def main():
initialize_logger()
if __name__ == '__main__':
main()
Code: Alles auswählen
2017-04-26 15:39:35,141 - Data download - DEBUG - debug message
2017-04-26 15:39:35,141 - Data download - INFO - info message
2017-04-26 15:39:35,141 - Data download - WARNING - warn message
2017-04-26 15:39:35,141 - Data download - ERROR - error message
2017-04-26 15:39:35,141 - Data download - CRITICAL - critical message
Code: Alles auswählen
def generate_logfile():
return os.path.join("log", str(datetime.date.today())+'.log')
def ensure_logdir_exists(logfilename):
if not os.path.exists(os.path.dirname(logfilename)):
os.makedirs(os.path.dirname(logfilename))
def initialize_logger():
logfile_name = generate_logfile()
print(logfile_name)
ensure_logdir_exists(logfile_name)
logger = logging.getLogger('Data download')
logger.setLevel(logging.DEBUG)
handler = logging.FileHandler(logfile_name)
handler.setLevel(logging.DEBUG)
formatter = logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
handler.setFormatter(formatter)
logger.addHandler(handler)
# application' code
logger.debug('debug message')
logger.info('info message')
logger.warn('warn message')
logger.error('error message')
logger.critical('critical message'
Code: Alles auswählen
logging.getLogger("Data download").info("text")
Code: Alles auswählen
# modul-global!
logger = logging.getLogger(__name__)
Code: Alles auswählen
logging.getLogger("Data download").info("text")
Code: Alles auswählen
# modul-global!
logger = logging.getLogger(__name__)
Code: Alles auswählen
def fetch_whole_year(symbol, year):
for symbol in symbol:
last_week = datetime.date(year, 12, 31).isocalendar()[1]
for week in range(1, last_week + 1):
try:
if not exists_file(symbol, year, week):
data = pull_file(symbol, year, week)
print_data_length(data)
save_file(symbol, year, week, data)
except Exception as e:
logging.getLogger("Data download").error(e)
else:
print("File for {}/{}/{} already fetched.".format(
symbol, year, week)
)
Code: Alles auswählen
import logging
logger = logging.getLogger('Data download')
def fetch_whole_year(symbol, year):
for symbol in symbol:
last_week = datetime.date(year, 12, 31).isocalendar()[1]
for week in range(1, last_week + 1):
try:
if not exists_file(symbol, year, week):
data = pull_file(symbol, year, week)
print_data_length(data)
save_file(symbol, year, week, data)
except Exception:
logger.exception("while downloading {}/{}/{}".format(symbol, year, week))
else:
logger.info("File for {}/{}/{} already fetched.".format(symbol, year, week))
def initialize_logger():
logfile_name = generate_logfile()
ensure_logdir_exists(logfile_name)
logging.basicConfig(filename=logfile_name, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.DEBUG)
Code: Alles auswählen
last_day = min(datetime.date(year, 12, 31), datetime.date.today())
new_year, last_week, _ = day.isocalendar()
if new_year > year:
last_week = 52
elif new_year < year:
return
Code: Alles auswählen
def check_date():
last_day = min(datetime.date(year, 12, 31), datetime.date.today())
new_year, last_week, _ = day.isocalendar()
if new_year > year:
last_week = 52
elif new_year < year:
return
Code: Alles auswählen
TickDataCsv.py|91 col 1 error| E0602 undefined name 'year' [pyflakes]
TickDataCsv.py|91 col 1 error| W0612 local variable 'last_day' is assigned to but never used [pyflakes]
TickDataCsv.py|92 col 1 error| E0602 undefined name 'day' [pyflakes]
TickDataCsv.py|93 col 1 error| E0602 undefined name 'year' [pyflakes]
TickDataCsv.py|94 col 1 error| W0612 local variable 'last_week' is assigned to but never used [pyflakes]
TickDataCsv.py|95 col 1 error| E0602 undefined name 'year' [pyflakes]
Code: Alles auswählen
def fetch_whole_year(symbol, year):
for symbol in symbol:
check_date()
last_week = datetime.date(year, 12, 31).isocalendar()[1]
for week in range(1, last_week + 1):
try:
if not exists_file(symbol, year, week):
data = pull_file(symbol, year, week)
print_data_length(data)
save_file(symbol, year, week, data)
except Exception:
logger.exception("while downloading {}/{}/{}".format(
symbol, year, week)
)
else:
logger.info("File for {}/{}/{} already fetched.".format(
symbol, year, week)
)
Code: Alles auswählen
def check_date(year, day):
last_day = min(datetime.date(year, 12, 31), datetime.date.today())
new_year, last_week, _ = day.isocalendar()
if new_year > year:
last_week = 52
elif new_year < year:
return
Code: Alles auswählen
TickDataCsv.py|91 col 1 error| W0612 local variable 'last_day' is assigned to but never used [pyflakes]
TickDataCsv.py|94 col 1 error| W0612 local variable 'last_week' is assigned to but never used
Code: Alles auswählen
def check_date(year, day):
last_day = min(datetime.date(year, 12, 31), datetime.date.today())
new_year, last_week, _ = day.isocalendar()
if new_year > year:
last_week = 52
elif new_year < year:
return