是否可以从已经可执行的Python文件生成日志文件?

时间:2017-06-26 00:46:44

标签: python logging executable pyinstaller logfile

我使用pyinstaller模块创建下面的Python代码可执行文件。

import urllib
import urllib2
import webbrowser
import re 
import popular4
import logging
from datetime import datetime
agora = datetime.now()
logging.basicConfig(filename='example2.log', filemode='w', 
level=logging.DEBUG)
while True: 
    tabela    = popular4.Banco()
    if (tabela.PegaEmailDigitado() != tuple()): 
    nome        = tabela.PegaEmailDigitado()[0][0]
    email       = tabela.PegaEmailDigitado()[0][1]
    senha       = tabela.PegaEmailDigitado()[0][2]
    data1       = tabela.PegaEmailDigitado()[0][3]
    matricula   = tabela.PegaEmailDigitado()[0][4]
    rg          = tabela.PegaEmailDigitado()[0][5]
    if (len(email) > 1):
        url = "https://aluno.unb.br/alunoweb/default/sca/solicitarsenha"
        data = urllib.urlencode({'nome': nome, 'matricula': matricula, 
        'identidade': rg,'data_nascimento': data1})
        results = urllib2.urlopen(url, data)
        conteudo_html = str(results.read())
        email_alter = matricula + "@aluno.unb.br"
        if (tabela.is_EmailDuplicado(email)):
            tabela.Inserir(nome, email, senha, data1, matricula, rg, 2)
            tabela.ApagaTabela_transitoria()
            logging.debug("\nHorario do log: %s, nome: %s, email: %s, data: 
            %s, senha: %s, matricula: %s, rg: %s. E-mail já existe, não 
            autenticado.\n"%(agora, nome, email, data1, senha, matricula, rg 
            ))
            continue
        elif (email_alter in conteudo_html ):
            print ("Consegui!")
            tabela.Inserir(nome, email, senha, data1, matricula, rg, 1)
            tabela.ApagaTabela_transitoria()
            logging.debug("\nHorario do log: %s, nome: %s, email: %s, data: 
            %s, senha: %s, matricula: %s, rg: %s, autenticado: Sim \n"%
            (agora, nome, email, data1, senha, matricula, rg ))
        else:
            tabela.Inserir(nome, email, senha, data1, matricula, rg, 0)
            tabela.ApagaTabela_transitoria()
            logging.debug("\nHorario do log: %s, nome: %s, email: %s, data: 
            %s, senha: %s, matricula: %s, rg: %s, autenticado: Não \n"%
            (agora, nome, email, data1, senha, matricula, rg ))
    else:
        logging.debug("\nHorario do log: %s, nome: %s, email: %s, data: %s, 
        senha: %s, matricula: %s, rg: %s, Email Inválido, não autenticado! 
        \n"%(agora, nome, email, data1, senha, matricula, rg ))
        tabela.ApagaTabela_transitoria()
print "Esperando Mudança no Banco..."

当我使用扩展名.py python filename.py运行代码时,它会生成名为example2.log的日志文件。但是,当我执行相同文件的可执行文件并将其运行时,它不会生成任何文件。你有可能这样做吗?

1 个答案:

答案 0 :(得分:0)

尝试添加#!/usr/bin/env python作为脚本的第一行。