Gå til innhold

Kjør et python-script (.pyw) i java


Anbefalte innlegg

Videoannonse
Annonse

Hvis det er bare deg som skal bruke det, så kan du jo bruke dette:

 

Runtime.getRuntime().exec(
		"python script.pyw", // Filen du skal kjøre
		 null, // Argument listen. Kan være null
		 new File(".") // Så filen blir kjørt fra "current directory"
		);

 

Håper det hjalp. :)

Endret av RavnTM
Lenke til kommentar
Runtime.getRuntime().exec(
		"python script.pyw", // Filen du skal kjøre
		 null, // Argument listen. Kan være null
		 new File(".") // Så filen blir kjørt fra "current directory"
		);

 

Takk for svar, men dette fungerte ikke. Det gikk å kompilere, men når jeg kjørte programmet fikk jeg denne meldingen:

Exception in thread "main" java.io.IOException: Cannot run program "Sonicwall.py
w" (in directory "."): CreateProcess error=193, %1 is not a valid Win32 applicat
ion
	at java.lang.ProcessBuilder.start(Unknown Source)
	at java.lang.Runtime.exec(Unknown Source)
	at java.lang.Runtime.exec(Unknown Source)
	at Ping2.main(Ping2.java:32)
Caused by: java.io.IOException: CreateProcess error=193, %1 is not a valid Win32
application
	at java.lang.ProcessImpl.create(Native Method)
	at java.lang.ProcessImpl.<init>(Unknown Source)
	at java.lang.ProcessImpl.start(Unknown Source)
	... 4 more

 

Jeg fant imidlertid ut hvordan man kan gjøre det. Det eneste jeg gjorde var å endre ffra .pyw til .py på pythonscriptet og endre stien i disse kodelinjene:

try {
		Runtime r = Runtime.getRuntime();
		Process p = r.exec("cmd /c E:\\Java\\Sonicwall.py");
		p.waitFor();
		BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
		String line = "";
		while ((line = br.readLine()) != null)
		{
			System.out.println(line);
		}
		p.waitFor();
	} 
	catch (Exception e) 
	{
		e.printStackTrace();
	}

 

Nå kjører scriptet helt uten problemer.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...