2013-12-15 2 views
-1

У меня есть программа, которая соответствует java-файлам в данном каталоге. Я хочу получить небольшое сообщение об ошибке, если ничего не скомпилировано. Сейчас это просто пустойОбнаруживать, что файл Java не скомпилирован с использованием subprocess.call

Вот мой код:

import sys 
import os.path,subprocess 

print('in main') 

directoryContents = os.listdir('.') 

for fn in directoryContents: 
    if fn.rfind(".java") != -1: 
     print ("found a java file named " + fn) 
     subprocess.check_call(['javac', fn])  
     java_class,ext = os.path.splitext(fn) 
     className = fn[0: fn.rfind(".java")] 
     print ("classname is " + className) 
     print ("Compiled:") 
     cmd = ['java', className] 
       subprocess.call(cmd, shell=False) 
     print ("\n") 

Как я обнаружить, что ничего не было напечатано на консоль?

+0

Это даже не печать 'in main' right? – scriptmonster

+0

№ Это было частью моего кода стартера. –

+0

Таким образом, вы не можете запустить свой код. Вы должны сохранить свой код как файл py и запустить его из командной строки, чтобы увидеть результат. – scriptmonster

ответ

0

Вы должны попробовать это:

directoryContents = os.listdir('.') 

for fn in directoryContents: 
    print fn, fn.rfind(".java") 

и запустить файл, как это в командной строке:

python file.py 

Там должен быть какой-то выход. Если этого не происходит, вы не сможете запустить свой код.

+0

Im смущен. Где я должен разместить свой код для его компиляции? Не будет ли это работать, если не скомпилировать? Мне нужно это, чтобы работать с примерно 30 java-файлами, все из которых могут не иметь выход. –

+0

Вы не можете запустить свой код на Python. Если вам нечего компилировать, код будет как минимум печатать 'in main', так как вы запустили эту строку перед проверкой java-файлов. Если вам нечего компилировать, ваш код не даст никакой ошибки, но если есть java-файлы; даже если 'javac' не работает, ваш код должен печатать имя файла. – scriptmonster

+0

Что значит быть неспособным? Я могу получить выходные данные из java-файлов. Это файл py. Я попробовал python ISS.py в терминале и получил ошибку: '[Errno 2] Нет такого файла или каталога', хотя Im positive это имя. Я новичок в python, извините. –

Смежные вопросы