Проблема с созданием и переименованием файла
В Python я написал небольшой скрипт, использующий инструмент командной строки астрономии с именем tempo2, который создает файл с именем 'polyco_new.dat'. Я хочу переименовать вновь созданный файл, используя путь к файлу.
import os, sys
import numpy as np
with open('paths.txt', 'r') as paths_list:
for file_path in paths_list:
data = np.loadtxt(file_path.strip())
filename = file_path[-26:-5]
# creates the 'polyco_new.dat'-file
os.system("tempo2 -tempo1 -polyco \"%f %f 120 15 12 @ 0\" -f ephemerides.par" %(t0, te))
# renames the file
os.rename('polyco_new.dat', 'polycox_'+filename+'.dat')
Однако я получаю сообщение об ошибке, что файл 'polyco_new.dat' не существует (такого файла или каталога нет), хотя я знаю, что он создан инструментом tempo2.
Как я могу заставить этот код работать?
1 ответ
Решение
Проблема, вероятно, заключается в разнице между каталогом, используемым по умолчанию tempo2
создать файлы и текущий рабочий каталог, из которого запускается ваш скрипт Python. Чтобы это исправить, сделайте:
# creates the 'polyco_new.dat'-file
os.system("tempo2 -tempo1 -polyco \"%f %f 120 15 12 @ 0\" -f ephemerides.par" %(t0, te))
# assuming the file was created in C:\some\directory
os.chdir(r'C:\some\directory')
os.rename('polyco_new.dat', 'polycox_{}.dat'.format(filename))