2 回答

TA貢獻1735條經(jīng)驗 獲得超5個贊
使用 os.path.join,您可以將目錄與文件名組合在一起以獲取文件路徑。
sperebin.write(os.path.join(destination, pect_name + "-" + "rebin" + ".fits"))
此外,使用os,您可以檢查目錄是否存在,并根據(jù)需要創(chuàng)建它。
if not os.path.exists(destination): os.makedirs(destination)

TA貢獻1813條經(jīng)驗 獲得超2個贊
您不需要或不想更改腳本中的目錄。相反,請使用路徑庫來簡化新文件名的創(chuàng)建。
from pathlib import Path
root_dir = Path(input("Enter root directory : "))
destination_dir = Path(input("Enter destination directory : "))
# Spectrum wants a string for the filename argument
# so you need to call str on the Path object
for pth in root_dir.glob("*.fits"):
spe = Spectrum(filename=str(pth), ext=[0,1])
sperebin = spe.rebin(57)
dest_pth = destination_dir / pth.stem / "-rebin" / pth.suffix
sperebin.write(str(dest_pth))
添加回答
舉報