lorsque je lance un script python à partir de l'invite commamd, il génère le fichier csv, mais quand je convertis ce script en exe, il ne génère pas le fichier csv.can quelqu'un peut me dire quel est le problème?python exe incapable de générer le fichier csv
ici est le code pour générer un fichier csv:
import os
import csv
import time
import ftplib
import threading
import database.db as db
from threading import Timer
import initial.global_variables as gv
class Csv_generator():
def __init__(self):
self.__db_conn = db.db_conn()
self.__file_name = None
self.__file_path = None
self.__file_path_prefix = os.path.dirname(os.path.abspath(__file__))
def __get_meter_data(self):
#get the kwh data from the meters from the database
localtime = time.localtime(time.time())
sys_time = "%s-%s-%s %s_00_00" %(localtime.tm_year,localtime.tm_mon,localtime.tm_mday,localtime.tm_hour)
self.__file_name = "%s_%s.csv" %(gv.org_name,sys_time)
self.__file_path = self.__file_path_prefix+ "/%s" %(self.__file_name)
self.__db_conn.cursor.execute(" SELECT m.`meter_id`FROM meter_data as m")
numrow = int(self.__db_conn.cursor.rowcount)
result=self.__db_conn.cursor.fetchall()
for x in range(0, numrow):
self.__generate_file(self.__file_path,sys_time,result[x][0])
def __generate_file(self,file_path,time,m_id,m_name,m_location,m_kwh,m_updated):
file_exist = os.path.exists(file_path)
file_ptr = open(file_path,'ab')
writer = csv.writer(file_ptr)
if file_exist == False:
writer.writerow(( "METER_TIMESTAMP",
"METER_ID"
)
writer.writerow((m_updated,m_id)
def start(self):
if gv.db_connected==1:
self.__db_conn.connect()
self.__get_meter_data()
self.__db_conn.close()
hour = int(time.strftime("%H", time.localtime()))
minute = int(time.strftime("%M", time.localtime()))
second = int(time.strftime("%S", time.localtime()))
for x in range(1,gv.upload_freq+1):
if int(hour) == 23:
hour = 0
break
if int(hour) < int(int(24/gv.upload_freq)*x):
hour = int((int(24/gv.upload_freq)*x) - int(hour) -1)
break
second = hour*3600 + (59 - minute)*60 + (60 - second)
timer_thread = Timer(second, self.start)
timer_thread.start()
ps: les variables globales de classe contient les variables qui sont définies pour mes projets et il n'y a pas de problème dans ce
Comment exactement le convertir en exe? – Amazingred
en utilisant pywin32-216.win32-py2.7.exe –