Bir metin dosyasını açıp içeriğinin bir kısmını, geçerli çalışma dizinindeki bir xlsx dosyasına bir .exe ile yazma


0

BLRP2Excel.py adlı, komut dosyasıyla aynı dizinde BLRP.txt adlı bir metin dosyasını alan ve içeriğinin bir kısmını 'Computer Data.xlsx' adlı bir .xlsx dosyasına yazan bir komut dosyası var. Buradaki fikir, senaryomu BLRP.txt dosyasının .exe ile aynı dizinde olduğu herhangi bir Windows PC'de çalışacak bir .exe dosyasına dönüştürmek ve 'Computer Data.xlsx' çıktısını almak için PyInstaller (Python 3.5) kullanmak. diyelim, aynı dizin. Komut tam olarak PyCharm'da çalıştırıldığında yapması gerekenleri yapar.

İşte kodumun ilgili parçaları:

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"

PyInstaller'ı hem sanal ortamıma hem de doğrudan projemin bulunduğu PATH klasöründeki bir komut isteminden kurdum, BLRP2Excel.py ile aynı dizinde bir komut istemi açtım ve şunu çalıştırdım:

pyinstaller BLRP2Excel.py

Bu başarıyla betiğimle aynı dizinde bir pycache, build ve dist klasörü oluşturdu. BLRP.txt dosyamı dist klasörüne attım ve BLRP2Excel.exe dosyasını çalıştırdım ve ...

komut isteminin yanıp sönmesi dışında hiçbir şey olmadı.

Ne yanlış gitti?


Mantığı bir exe'ye dönüştürmeden ÖNCE komut konsolunu açık tutun, böylece çıktısını görün ve sonra aynı şeyi yapan bir EXE'ye dönüştürün, böylece sorun giderebilirsiniz. Bunu yaptıktan sonra, bunun sonuçlarını bir düzenleme ile rapor edin, böylece kimsenin size yardım etmeyi tahmin etmesi gerekmez ve aslında kendi kendinize çözmeniz için biraz ipucu vermek için hızlı bir flaştan daha anlamlı bir şey elde edebilirsiniz. Sadece bu şeylerle temele geri dönün ve düşünmeyin; anlatmanın bir yolu bu gösterime sahip olan çıktıyı / sonucu görmek ve mantıkla kalmak, sonra dönüştürmek ve denemektir.
Pezevenk Suyu BT

Ondan sonra hala yanıp sönüyorsa, uygulama olay günlüğüne bakın ve bir dosyaya veya başka bir şeye oturum açmak için kodladığınızdan emin olun ya da Windows işletim sistemi tarafından engellenip engellenmediğine bakın. ya da ne?
Pezevenk Suyu BT

Yanıtlar:


1

BLRP.txt dosyamı dist klasörüne attım ve BLRP2Excel.exe dosyasını çalıştırdım ve ... komut isteminin yanıp sönmesi dışında hiçbir şey olmadı.

İlk olarak, programınız bir tür CLI çıktısı üretiyor, yani açık değilse otomatik olarak kapanan bir komut penceresi oluşturuyor (komut istemi yanıp sönüyor).

Programınız düzgün çalışmadığından, bu muhtemelen karşılaşılan özel hatadır. .Exe dosyanızla aynı dizinde bir komut penceresi açın (Shift -> Sağ Tıkla -> "Burada komut penceresini aç ...") ve örneğin .exe dosyasını çalıştırmak için kullanın

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

Üretilen herhangi bir mesaj, sorunun nedenini belirlemeye yardımcı olacaktır.


1
Bu aslında benim için sorunu çözmek için yeterliydi! Bazı nedenlerden dolayı, sanal env'ime Pycharm aracılığıyla xlsxwriter yüklediğim halde, .exe bulamadı. Ben betiği içeren dizinde bir cmd istemi ile pip kurmak zorunda kaldı.
Johnny Apple

Çözmüş olmana sevindim. =)
Anaksunaman
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.