Python 如果带有“或”和“不”同时合法?

问题描述 投票:0回答:1

我收到“无效语法” 我试图解析一个在我的好数据之前和之后都有垃圾的文件。 标头位于每个大小文件的第 71 行。 数据从每个大小的文件的 103 开始。 我的数据末尾始终是 line_count 的负 7。

我尝试使用 if 语句要求获取 71 上的标头,从 103 处开始获取数据,但从末尾开始不大于负 7

如果在该范围内,则保存到名为 test.txt 的文本文件

以下代码

import fileinput

import time 
filename = '1.csv'

with open(filename) as file:

    lines = file.readlines()

line_count = len(lines)
   
end = line_count - 7


print('line_count is:')
print (line_count)  

print('end is')
print (end)

time. sleep (3.0)

count = 0
filename = '1.csv'

for lines in fileinput.input([filename]):
    if count == 71 or count >= 103 and not >= end:
        print (lines),
        print(count),
        count = count + 1,
        with open("test.txt", "w") as f:
            f.write(str(lines))
python if-statement
1个回答
0
投票

用日常语言,我们可以说

如果 count 大于或等于 103 并且不大于或等于 end

...据了解,

count
是这两种情况的比较对象,因为英语就是这样的。

但这不是 python 的工作原理。

此代码是语法错误

count >= 103 and not >= end
                    ^
                    |
                    |
because you are missing a variable name right here

你必须完整地阐明这两个比较:

count >= 103 and not count >= end
© www.soinside.com 2019 - 2024. All rights reserved.