如何配置Python读/写模块?

时间:2017-06-07 11:26:32

标签: python

我有一个任务,我的任务是测量Python读取infile所需的时间,然后在outfile中为in-file中的每个字符写一些'a':s。我的代码如下所示:

import time

#opening input file for reading and output file for writing
#assume in.txt file created e.g. from cmd.exe using command:
# fsutil file createnew in.txt 20000000
#which creates a text file of ~20MB filled with dots.
#double backslash is required as escape character on Windows
inputFile = open('C:\\Users\\Benson\\in.txt', 'r')
outputFile = open('C:\\Users\\Benson\\out.txt', 'w')

start_time = time.time()

for i in range(1, 100):
    while True:
    #reading file by 1 character
    ch=inputFile.read(1)
    #end loop if no more characters left
    if not ch: break
    #for every character read - write an 'a' to output
    outputFile.write('a')

print("%s" % (time.time() - start_time))

但是,当我运行程序时,我发现文件中的字符数与文件中的字符数不对应。对于文档中我使用了哈利波特和密室的摘录,大约1300个单词。但是输出文件只包含99个'a':s,而它们应该大约为1300个,或者总共为1300个。我做错了什么?

1 个答案:

答案 0 :(得分:0)

你的for循环是1,100,这将给你99次读取。请尝试使用,

`For i in inflile:'

更改您的代码以使用i。我将成为文件的一行,默认情况下将是新行的所有字符。