我在天文学领域工作,我用来解开望远镜拍摄的图像的过程非常繁琐。图像的格式是'fits.fz',代表fits.fits-zipped。我想将这些解压缩为'.fits'。我已经在开发一个简化解压缩过程的程序。我通过Python和Tkinter创建了一个带有两个按钮的图形界面。第一个按钮创建一个名为'list.txt'的文本文件,然后执行一个预先存在的.bat文件,该文件将特定目录中以'fits.fz'结尾的每个文件的名称转储到'list.txt'中。第一个按钮也应该将文件的特定名称复制到另一个bat文件中的特定位置。另一个.bat文件名为'Decompress.bat'C:\ds9\ds9.exe
C:\directory\FITS FILE HERE
-savefits
我希望python程序能够从一行代码中复制特定的部分并将它们粘贴到“FITS FILE HERE”所在的位置。
以下是按下第一个按钮时执行的功能。f = open('C:/jah/list.txt')
f1 = open('C:/jah/decompress.bat', 'a')
def begin_wombocombo(): #Is function for first button
open('C:/jah/list.txt', 'w').close() #Clears 'list.txt'
open('C:/jah/decompress.bat', 'w').close() #Clears 'decompress.bat'
subprocess.call([r'C:/jah/newbat.bat']) #Dumps directory into 'list.txt'
doIHaveToCopyTheLine=False #Bool for whether or not the program has to copy line
for line in f.readlines(): #loops through all instances to find fz files and then pastes them into decompress.bat
if 'fits.fz' in line:
doIHaveToCopyTheLine=True
if doIHaveToCopyTheLine:
f1.write(line)
f1.close()
f.close()
这个问题是它只复制具有fits.fz文件的文本行。这意味着它会复制该行上的所有其他内容,例如创建文件时。有没有办法简单地复制和粘贴fits.fz文件?我如何将这些字符串用于.bat文件?
感谢您的时间,顺便说一下,第二个按钮只执行'decompress.bat',这是带有解压缩图像命令的文件。