我正在尝试编写一个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
答案 0 :(得分:1)
我不知道您实际期望的行为,但代码中存在许多错误:
readlines()
的参数需要是一个字节数,作为缓冲区大小的提示。这很可能不是你在这里所期望的。readline()
的参数的字符串完全不正确。你试图读取直到该值的行吗?is
比较字符串。请改用==
。尝试将代码重写为for line in x:
的单个循环 - 这将一次为您提供一行文件。如果需要,请保留一些状态变量,以确定您在哪一行以及到目前为止看到了什么。
或者,您可以将整个文件读入包含contents = x.readlines()
的数组,然后从那里进行处理。