首页 > 解决方案 > 如何使用 Python 将 2 列写入/追加到 .txt 文件中?

问题描述

我是编程新手我在一个小项目中工作我遇到了这个问题:

我想在一个 .txt 文件中附加 2 个不同的列。

def write_file_content(file_name_to_write):
    container=[]
    date=get_current_date()
    time=get_current_time()
    container.append(date)
    container.append(time)

  with open(get_EveryDayTrans_folder_path()+file_name_to_write+".txt","a") as edit_file:
        for nm in range(1,11):
            edit_file.write('%s.\n'%nm)
        for item in container:
            edit_file.write('%s\n' %item)

使用此代码,我得到以下输出:1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 01-29-2019 10:40 PM

但我想得到这样的输出:

  1. 01-29-2019

  2. 晚上 10:40

3.

4.

5.

6.

7.

8.

9.

10.

标签: pythonlistloopstext

解决方案


您的代码有两个问题需要修复:

  1. 您正在使用两个循环,一个然后另一个,打印到您的文件。您需要组合这些循环,以便在同一循环迭代中知道要打印的数字和项目。您只有一次机会* 正确打印一行,因此您需要准备好该行所需的一切。
  2. 您在前面想要的数字之后写一个换行符。这会阻止您在同一行上编写更多文本。相反,在最后一个 write() 调用中打印所有格式化的数据\r\n
with open(get_EveryDayTrans_folder_path()+file_name_to_write+".txt","a") as edit_file:
    nm = 1
    for item in container:
        edit_file.write('%s. %s\r\n' % (nm, item))
        nm += 1

*只有一次机会,除非您返回并再次编辑文件中的行。


推荐阅读