См. Обновление в конце.
Я использую Ubuntu Linux 11.10, Python 3.
Я написал скрипт Python, который конвертирует некоторые файлы Qt * .ui в * .py с использованием pyuic4,Затем я хочу скомпилировать полученный файл * .py в * .pyc и удалить файл * .py.
По какой-то причине, когда я удаляю преобразованный файл * .py, версия * .pyc также удаляется.:
try:
command = 'pyuic4 -o /home/vic/ui_form.py /home/vic/form.ui'
output = subprocess.check_output(command, shell= True, stderr= subprocess.STDOUT)
except subprocess.CalledProcessError as e:
print('Failed:', e.output)
else:
print('Converted %s to %s' % (source, targetName))
# convert *.py to *.pyc and delete the source
source = '/home/vic/ui_form.py'
target = source + 'c' # py -> pyc
py_compile.compile(source, target)
#shutil.copy(target, target + '_') # if uncommented - the *.pyc_ file remains
os.remove(source) # if commented - both *.py and *.pyc files remain, otherwise both deleted (?)
Я не знаю, что происходит (дополнительную информацию см. В комментариях к коду).
Я подумал, что получу подсказку, если найду ВОЗ, удаляющую файл -может быть, это pyuic4?
Есть ли возможность отслеживать, какой процесс удаляет файл?
ОБНОВЛЕНИЕ:
Я отлаживал шаг за шагомшаг.После выполнения os.remove(source)
оба файла (* .py - source и * .pyc) будут удалены.
Может ли это быть поведение Python?