0

使用open. 我的脚本接受一个文件,执行一些计算并输出这些计算。

在我的机器上(运行 2.7.1)输出是正确的。在另一台机器(运行 2.4.6)上,我的输出全部为0.00. 最近我可以说,我的输入文件没有被打开。open()这些版本之间有区别吗?

这是我当前的开放方案的样子:

infile = open(filename, 'r')

另一个问题:该next(infile)方法不再为我跳过第一行2.6.4。替换next(infile)lines = infile.readlines()[1:0]影响性能吗?

编辑:废话另一台机器的版本是2.4.6。不知道我是怎么搞砸的。原来的帖子反映了我的错误,对不起。

Edit2:下面是我从文件中读取的代码:

     for lines in infile:
          # do stuff with lines
     infile.close()

我猜这里有些东西可能在 2.4.6 和 2.7.1 之间有所不同

最终编辑:

解决了我自己的问题。next(infile) 由于某些奇怪的原因与 2.4.6 不兼容。我替换了它并正确运行了我的脚本。

谢谢你的帮助!

4

1 回答 1

1

我不相信已经对open.

关于你问题的后半部分,

lines = infile.readlines()[1:0]总是[],你可能需要的是 lines = infile.readlines()[1:]

是的,readlines当 using 仅读取第一行时, using 将整个文件(准确地说是它的所有行)加载到内存中next(如果不这样做,则丢弃它some_thing = next(f))。

如果您正在读取一个大文件,这可能会对性能产生影响。对于一个小文件,它不会有太大的区别。

于 2012-12-02T21:30:36.313 回答