Readline函数使用字符串代替整数

时间:2013-06-07 16:06:05

标签: python-2.7

我正在尝试编写一个python脚本,它将根据执行期间传递的许多参数初始化自动化测试。其中一个参数用作文本文件中的设备选择控件,该文件正在readline()调用中用于代替整数。

如何进行以下工作,而不会在使用过程中导致错误:

with open('file.txt') as x:
     head1 = x.readline('APS5000[]')
     linenumber = 3
     if not APU == head1:
            for line in x.readline(linenumber):
                print line
                linenumber += 1
                if x.readline(linenumber) is ('====================================================')
                      linenumber = 14
                break

1 个答案:

答案 0 :(得分:1)

我不知道您实际期望的行为,但代码中存在许多错误:

  • readlines()的参数需要是一个字节数,作为缓冲区大小的提示。这很可能不是你在这里所期望的。
  • 作为readline()的参数的字符串完全不正确。你试图读取直到该值的行吗?
  • 您无法使用is比较字符串。请改用==

尝试将代码重写为for line in x:的单个循环 - 这将一次为您提供一行文件。如果需要,请保留一些状态变量,以确定您在哪一行以及到目前为止看到了什么。

或者,您可以将整个文件读入包含contents = x.readlines()的数组,然后从那里进行处理。