【问题标题】:Write output of a while loop to multiple text files将while循环的输出写入多个文本文件
【发布时间】:2017-05-15 19:09:04
【问题描述】:

我有两个问题:while 循环在 1.1 而不是 1 完成,以及如何按照我编写代码的方式为 alpha_min 的每个值保存一个文本文件,只有 alpha_min 的最后一条消息被保存在文本中文件?

alpha_min = 0
alpha_max = 1

while (alpha_min < alpha_max):
    alpha_min += 0.1
    #Length of message 
    length_msg = (alpha_min * n)
    len_msg = int(length_msg)
    print(alpha_min)

    #Generates random messages, 1D vectora consisting of 1s and 0s for different values of alpha
    msg = np.random.randint(2, size= len_msg)
    print(msg)

    #Save messages in text format representing each bit as 0 or 1 on a separate line
    msg_text_file = open("msg_file.txt", "w")  # Path of Data File
    msg_text_file.write("\n".join(map(lambda x: str(x), msg)))
    msg_text_file.close()

【问题讨论】:

  • 要解决您的第一个问题,请将第 4 行的
  • @Qwerty 没有让你感到抱歉
  • 为什么不呢?你没有得到什么
  • @Qwerty 我试过还是不行,我用的是python 2.7

标签: python printing while-loop text-files


【解决方案1】:

您应该只打开文件一次并在最后关闭它,因为您现在所做的是在每次迭代时覆盖文件(或者您可以使用追加而不是写入)

alpha_min = 0
alpha_max = 1



while (alpha_min < alpha_max):
    alpha_min += 0.1
    #Length of message 
    length_msg = (alpha_min * n)
    len_msg = int(length_msg)
    print(alpha_min)

    #Generates random messages, 1D vectora consisting of 1s and 0s for different values of alpha
    msg = np.random.randint(2, size= len_msg)
    print(msg)

    #Save messages in text format representing each bit as 0 or 1 on a separate line
    msg_text_file = open("msg_file_{}.txt".format(alpha_min), "w")  # Path of Data File
    msg_text_file.write("\n".join(map(lambda x: str(x), msg)))
    msg_text_file.close()

【讨论】:

  • 由于某些奇怪的原因仍然生成了一个文本文件
  • 它所做的是生成一个文件并将所有内容放入其中。如果每次迭代都需要一个文件,则必须为其命名(并将openclose 移回循环)。例如f = open("message_{}.txt".format(alpha_min), 'w'),然后做你想做的事。
  • 我是在while循环之前还是在循环内部这样做?
  • 非常感谢你!是否可以保存由 for 循环产生的多个图像?因为只有最后一张图片被保存到 =text 文件场景中
  • 我不太明白这个问题......“多张图​​片”是什么意思?
猜你喜欢
  • 2014-07-29
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多