gpt4 book ai didi

python - 如何在目录中的所有文件上运行 python 脚本?

转载 作者:行者123 更新时间:2023-12-01 03:42:51 24 4
gpt4 key购买 nike

import pyfits

file = input('Enter file name as string: ')

newfile = file.replace('.fits','.dat')

f = pyfits.getdata(file)

h = pyfits.getheader(file)

g = open(newfile,'w')

ref = h['JD_REF']

for x in range (len(f)):
deltat = (f[x][0]-ref)/86400
refday = ref/86400
time = refday + deltat
mag = f[x][3]
err = f[x][4]
flag = f[x][8]
g.write('%9s %9s %10s %2s\n'% (time,mag,err,flag))


g.close()

我正在尝试将包含数据表的 .fits 文件转换为 .dat 文件。该程序执行我想要的必要功能,但它一次只执行一项操作。我有大约 300 个 .fits 文件需要转换,每次都通过输入名称来完成所有这些文件会很痛苦。我希望我可以选择运行该程序,它会循环遍历并在我的目录中的所有文件上执行脚本。

如何修改此程序以在当前目录中的所有文件上运行?

最佳答案

使用os.listdir()。如果您只想返回与 '.fits' 模式匹配的文件,可以使用 glob.glob('*.fits')

这将返回当前目录或您作为参数提供的任何目录中的所有文件。您可以循环这些名称,并将它们用作输入文件。像这样的东西:

for f in os.listdir():
newfile = f.replace('.fits', '.dat')
# all the rest of your code

关于python - 如何在目录中的所有文件上运行 python 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39283608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com