Как выполнить программу .exe в скрипте Python? - PullRequest
0 голосов
/ 04 января 2019

У меня проблема: мне нужно выполнить .exe в моем скрипте Python.(Этот exe скомпилирован с VS, используемая DLL также находится в текущей папке, я могу запустить непосредственно в cmd.) Я искал, что я могу использовать os. system () и subprocess. call () онлайн, но ни один из них не может работать.эти журналы ошибок:

import subprocess
subprocess.call("BuildingTextureRDF.exe ./data/fujiaju_cycle.csv ./data/test.csv ./data/result_csv/114.374041130.449
92626.csv 0 3 4 5 1 2 -1 3.0 8 50.0 1000.0 1")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "F:\Users\hp\Anaconda3\lib\subprocess.py", line 267, in call
    with Popen(*popenargs, **kwargs) as p:
  File "F:\Users\hp\Anaconda3\lib\subprocess.py", line 709, in __init__
    restore_signals, start_new_session)
  File "F:\Users\hp\Anaconda3\lib\subprocess.py", line 997, in _execute_child
    startupinfo)
OSError:[WinError 193] %1 is not a valid Win32 application

Моя информация о питоне:

Python 3.6.3 |Anaconda custom (64-bit)| (default, Oct 15 2017, 03:27:45) [MSC v.1900 64 bit (AMD64)] on win32

Так что мне нужно изменить версию Python?

Если я использую os.system ():

os.system("BuildingTextureRDF.exe ./data/fujiaju_cycle.csv ./data/test.csv ./data/result_csv/114.374041130.44992626.
csv 0 3 4 5 1 2 -1 3.0 8 50.0 1000.0 1")

Появляется этот интерфейс: (Общий смысл изображения:

This application cannot run on your computer
To find a version for your computer, consult the software publisher

.)

enter image description here

Deny access.
1

Но этот исполняемый файл работает нормально в cmd

PS H:\Flask> ./urban_texture/BuildingTextureRDF.exe ./urban_texture/data/fujiaju_cycle.csv ./urban_texture/data/test.csv
 ./urban_texture/data/result_csv/114.374041130.44992626.csv  0 3 4 5 1 2 -1 3.0 8 50.0 1000.0 1
Input Building File: ./urban_texture/data/fujiaju_cycle.csv
Input Lat Lon File: ./urban_texture/data/test.csv
Output Result File: ./urban_texture/data/result_csv/114.374041130.44992626.csv
FID COLUMN = 0
LATITUDE COLUMN = 3
LONGITUDE COLUMN = 4
PER FLOOR AREA COLUMN = 5
FLOORS COUNT COLUMN = 1
BUILDING HEIGHT COLUMN = 2
DEM HEIGHT COLUMN = -1
PER FLOOR HEIGHT = 3
* GEO-HASH SCALE = 8
* STEP RADIUS = 50
* MAXIMUM RADIUS = 1000
* IS NORMAILIZATION = 1
Load lat lon number: 1
2019-01-04 13:46:18 : GeoHash Scale = 8
2019-01-04 13:46:18 : Load file success. Total Number of Buildings = 279.
2019-01-04 13:46:18 : GeoHash Count = 222.
PROCESS FINISH.
...