So kann ich ein Python-Skript ausführen, aber ich habe Probleme, das Python-Skript tatsächlich eine Datei speichern zu lassen. Das Ausführen des Python-Skripts direkt vom Terminal aus funktioniert jedoch beim Erstellen eines Knotenprozesses scheinbar still (die Datei wird nie gespeichert, daher schlägt das Knotenscript fehl). Könnte dies ein Berechtigungs- oder Standortproblem sein, da das Ausführen des Python-Skripts direkt funktioniert?Ausführen eines Python-Skripts vom Knoten und Speichern einer Datei
Ich habe python-shell verwendet, um den Prozess zu erleichtern. Mein aktueller API-Endpunkt ist so etwas wie diese:
router.get('/patientsExport', (req, res) => {
const options = {
mode: 'text',
scriptPath: __dirname,
};
PythonShell.run('patientsExport.py', options, err => {
if (err) {
logger.error(err);
throw err;
}
const filePath = path.join(__dirname, 'patientsExport.xlsx');
fs.exists(filePath, exists => {
if (exists) {
// Deliver the file
} else {
res.writeHead(400, { 'Content-Type': 'text/plain' });
res.end('ERROR File does NOT Exists');
}
});
});
});
Ich habe die Position des Skripts in Python mit os.getcwd()
geprüft und versuchte, einen sleep
Befehl auszuführen sich um sicherzustellen, dass zwischen dem Speicher der Datei genügend Zeit und Knoten es zu finden, aber ohne Erfolg.
wb.save(filename=dest_filename)
while not exists(dest_filename):
sleep(1)
Hat jemand irgendwelche Erfahrung damit oder weiß, was ich falsch mache?