计数到100,000并将其写入文件

时间:2015-03-15 03:23:59

标签: python file counter writing

我暂时没有使用过Python,但我今天决定创建一个程序来帮助我完成一些我想做的工作。我正在尝试创建一个程序,用符号|编写数字1-100,000在每次创建之后似乎无法剥离文件,所以它显示如下:1 | 2 | 3 | 4.

我的代码:

a = 0
b = "|"
while a < 100000:
    a += 1 # Same as a = a + 1 
    new = (a,b)
    f = open("export.txt","a") #opens file with name of "export.txt"
    f.write(str(new))
f.close()


infile = "export.txt"
outfile = "newfile.txt"

delete_list = ["(","," "'"]
fin = open(infile)
fout = open(outfile, "w+")
for line in fin:
    for word in delete_list:
        line = line.replace(word, "")
    fout.write(line)
fin.close()
fout.close()

export.txt到:

enter image description here

newfile.txt:

enter image description here

2 个答案:

答案 0 :(得分:1)

看起来你不必要地做了很多工作。

如果你想要的是一个文件,其数字为0-99999,每个文件后面都有|,你可以这样做:

delim = "|"
with open('export.txt', 'w') as f:
    for a in xrange(100):
        f.write("%d%s" % (a, delim))

我不确定第二个文件的目的是什么,但是,一般来说,要打开一个文件来读取,第二个文件要写入,你可以这样做:

with open('export.txt', 'r') as fi:
    with open('newfile.txt', 'w') as fo:
        for line in fi:
            for word in line.split('|'):
                print(word)
                fo.write(word)

请注意,原始文件中没有换行符,因此for line in fi实际上是在读取“export.txt”的全部内容 - 这可能会导致问题。

答案 1 :(得分:0)

尝试使用它来编写文件:

numbers = []
for x in range(1,100001):
    numbers.append(str(x))

f = open('export.txt', 'w')
f.write('|'.join(numbers))
f.close()