Abrindo um arquivo de texto e gravando parte do seu conteúdo para um arquivo xlsx no diretório de trabalho atual com um .exe

0

Eu tenho um script, chamado BLRP2Excel.py, que pega um arquivo de texto chamado BLRP.txt no mesmo diretório que o script e grava parte do seu conteúdo em um arquivo .xlsx chamado 'Computer Data.xlsx.' A idéia é usar PyInstaller (Python 3.5) para transformar meu script em um .exe que será executado em qualquer PC com Windows, onde BLRP.txt esteja no mesmo diretório que o .exe, e para enviar 'Computer Data.xlsx' para digamos, o mesmo diretório. O script faz exatamente o que deve quando executado no PyCharm.

Aqui estão as partes relevantes do meu código:

import os
import xlsxwriter

cwd = os.getcwd()

workbook = xlsxwriter.Workbook(cwd + "\" + 'Computer Data.xlsx')

"rest of my code"

with open(cwd + "\" + 'BLRP.txt') as my_file:

"rest of my code"

Instalei o PyInstaller no meu ambiente virtual e diretamente de um prompt de comando na pasta PATH onde meu projeto está, abri um prompt de comando no mesmo diretório que BLRP2Excel.py e executei:

pyinstaller BLRP2Excel.py

Isso criou com sucesso uma pasta pycache, build e dist no mesmo diretório do meu script. Joguei meu BLRP.txt na pasta dist e executei o BLRP2Excel.exe e ...

nada aconteceu, exceto um flash do prompt de comando.

O que deu errado?

    
por Johnny Apple 03.09.2017 / 00:15

1 resposta

1

I tossed my BLRP.txt into the dist folder and ran the BLRP2Excel.exe, and... nothing happened except a flash of the command prompt.

Primeiro, seu programa está produzindo algum tipo de saída CLI, o que significa que está gerando uma janela de comando que fecha automaticamente se ainda não estiver aberta (o prompt de comando pisca).

Como o seu programa não está funcionando corretamente, esse é provavelmente o erro específico encontrado. Abra uma janela de comando no mesmo diretório do seu arquivo .exe (Shift - > Clique com o botão direito - > "Abra a janela de comando aqui ...") e use-o para executar o .exe, por exemplo.

C:\some\dir\dist\BLRP2Excel> BLRP2Excel.exe

Qualquer mensagem produzida deve ajudar a determinar a causa do problema.

    
por 03.09.2017 / 04:33