如何将变量放入文本文件?

2024-06-02 07:08:38 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我尝试在文本文件中插入一个变量,并将其定义如下:

 for filename in os.listdir("/home/gyanender/Desktop/s1d_gyanender"):
    if filename.endswith("_s1d_A.fits"):

      df = pd.DataFrame.from_dict(SN_dic,orient='index')
      df = df.mean()  
      out_name = s1d_header['OBJECT'] +'-' + s1d_header['DATE-OBS'] +'.ares'

      mine_opt =  '/home/gyanender/bin/ARES/mine.opt'
      file_opt=open(mine_opt,'w')
      file_opt.writelines(("specfits=filename","\n","fileout=out_name","\n","rejt=df"))
      file_opt.close()

最后,我得到的是这样的,我得到了文本中变量的名称,但我想要的是文本文件中这些变量的值,因为我要把这个文件作为另一个代码的输入。在

^{pr2}$

作为

^{3}$

所以我的理想文件应该是这样的:

specfits='HARPS.2016-04-01T09:44:43.034_s1d_A.fits'
fileout='Moon-2016-04-01T09:44:43.034.ares'
rejt= 166.6

有人能告诉我我哪里出错了吗?在


Tags: namedfhomefilenameoutfileheaderopt
2条回答

你在干什么

file_opt.writelines(("specfits=filename","\n","fileout=out_name","\n","rejt=df"))

请注意,实际上是将字符串"specfits=filename"打印到文件中。这里没有什么可以告诉代码那不是你想要它打印的。在

我想你想要的是用变量名代替变量本身。这可以使用字符串格式来完成。假设python 3:

^{pr2}$

在这里,字符串中的{}将被作为format()函数参数的任何内容替换。在

如果要在值的周围加上单引号,可以将它们放入要打印的字符串中,例如"specfits='{}'"

不要试图发明轮子,选择一些存储方法并使用它。在

此示例使用json:

import json
data = {   # create a dict with the data
   'specfits': specfits,
   'fileout':  fileout,
   'rejt':  rejt,
}

with open(mine_opt, 'w') as file_opt:
    json.dump(data, file_opt)

那么读起来就很容易了!在

^{pr2}$

相关问题 更多 >