Python创建文件并添加数字

Python创建文件并添加数字,python,for-loop,file-io,Python,For Loop,File Io,我正在尝试编写一个程序来创建文件,其中一个文件应如下所示: for x in range(1,20): f = open("test"+str(x), 'w') f.write(str(x) + "\n" + str(20-x)) f.close() 一, 十九, 下一个文件 二, 十八 三, 十七, 等等 所以直到19在第一行,1在第二行,我基本上是将第一行从1增加到19,第二行从19减少到1。我有这个代码,它创建了这个文件,并写了第一个数字,但不是最后一个,有什么建议吗

我正在尝试编写一个程序来创建文件,其中一个文件应如下所示:

for x in range(1,20):
   f = open("test"+str(x), 'w')
   f.write(str(x) + "\n" + str(20-x))
   f.close()
一,

十九,

下一个文件

二,

十八

三,

十七,

等等

所以直到19在第一行,1在第二行,我基本上是将第一行从1增加到19,第二行从19减少到1。我有这个代码,它创建了这个文件,并写了第一个数字,但不是最后一个,有什么建议吗

 for x in range(1,19):
       file = open("test%x"%x, 'w')
       file.write('%x'%x)
       for x in range(19,1):
           file = open("test%x"%x, 'a')
           file.write('%x'%x)
       file.close()

您可以尝试以下方法:

for x in range(1,20):
   f = open("test"+str(x), 'w')
   f.write(str(x) + "\n" + str(20-x))
   f.close()

您正在使用两个具有相同fileObject名称的文件,但从未关闭第一个文件。这是个问题。为什么要重新打开它?如果您想创建19个文件,只需编写所需内容,关闭它,然后继续

其次,记住range()函数中的第二个参数是上限。这是一个价值范围将增长,以满足,但从来没有真正实现。所以如果你想要1-19,你的射程应该是1-20

 num = 19
 for x in range(1,20):
       filename = "test%d.txt" % (x)
       writeFile = open(filename, 'w')
       writeFile.write("%d" % (num))
       writeFile.close()
       num -= 1

像这样的方法应该会奏效:

num = 19
for x in range(1, num+1):
    with open file(''.join(['file_',
                            str(x),
                            '.txt'], 'w') as the_file:
        file.write(''.join([str(x),
                            '\n',
                            str(num-x+1)])