使用Notepad ++

时间:2017-02-22 16:14:08

标签: python notepad++

我正在使用Notepad ++重组一些数据。每个.txt文件有99行。我正在尝试运行python脚本来创建99个单行文件。

这是我目前正在运行的.py脚本,我在该主题的前一个主题中找到了该脚本。我不确定为什么,但它并没有完成这项工作:

    yourfile = open('filename.TXT', 'r')
    counter = 0
    magic = yourfile.readlines()

    for i in magic:
        counter += 1
        newfile = open(('filename_' + str(counter) + '.TXT'), "w")
        newfile.write(i)
        newfile.close()

当我运行这个特定的脚本时,它只是创建了一个主机文件的副本,它仍然有99行。

3 个答案:

答案 0 :(得分:2)

您可能想稍微更改脚本的结构:

with open('filename.txt', 'r') as f:
    for i, line in enumerate(f):
        with open('filename_{}.txt'.format(i), 'w') as wf:
            wf.write(line)

在这种格式中,您可以依靠上下文管理器来关闭文件处理程序,而且您不必单独阅读,有更好的逻辑流程。

答案 1 :(得分:1)

您可以使用以下代码来实现这一目标。它评论过,但随意问。

#reading info from infile with 99 lines
infile = 'filename.txt'

#using context handler to open infile and readlines
with open(infile, 'r') as f:
    lines = f.readlines()

#initializing counter
counter = 0

#for each line, create a new file and write line to it.
for line in lines:

    #define outfile name
    outfile = 'filename_' + str(counter) + '.txt'

    #create outfile and write line
    with open(outfile, 'w') as g:
        g.write(line)

    #add +1 to counter
    counter += 1

答案 2 :(得分:0)

magic = yourfile.readlines(99)

请尝试删除' 99'像这样。

magic = yourfile.readlines()

我试过了,我有99个文件,每个文件只有一行。