一行if else语句拒绝

2024-04-26 02:44:31 发布

您现在位置:Python中文网/ 问答频道 /正文

很抱歉提出这么小的问题,但这让我发疯了。我有一行永远给我语法错误:

print(BDF) if header is 1

我也试过:

print(BDF) if (header == 1)

完整功能如下:

def CSVtoDict(BDF, prune, header):
    # Comes with the option to prune [] and to use headers
    with open('%s%s.csv' % (dataDir,BDF), mode='r') as infile:
        reader = csv.reader(infile)
        saved = {}
        for row in reader:
            key = row[0]
            saved[key] = [r for r in row[1:] if not (r is '' and prune is 1)]
        print(BDF) if header is 1
    return saved

可能是什么原因造成的?调用函数时使用:

adsMut = CSVtoDict(BaseDataFiles[0],1,1)

一切似乎都井然有序,只是每次都给我语法错误。你知道吗


Tags: andcsvtoifiswithreaderrow
3条回答

您还必须为这一行提供else子句。以下线路将起作用:

print(BDF) if header is 1 else None

您使用单行if格式有什么特殊原因吗?更常见的格式是:

if header == 1:
    print (BDF)
a if condition else b

对python使用三元条件运算符

相关问题 更多 >

    热门问题