Проблема с созданием и переименованием файла

В 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))
Другие вопросы по тегам