为什么我把这个Python函数包裹在def()调用中它就不起作用?

2024-10-01 05:00:26 发布

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

如果此代码未包装在函数duplicateDel()中,则它可以工作。很抱歉,我对python非常陌生,我无法理解为什么这个函数会停止工作。你知道吗

import sys
import csv

def duplicateDel():
    f1 = csv.reader(open('file1.csv', 'rb'))
    writer = csv.writer(open("file2.csv", "wb"))
    x = set()
    for row in f1:
        if row[3] not in x:
            writer.writerow(row)
            x.add( row[3] )

Tags: csv函数代码inimportdefsysopen
1条回答
网友
1楼 · 发布于 2024-10-01 05:00:26

“包装”它到def,意味着您要声明您的函数以进一步使用,因此,为了使用它,您需要调用它。在您的情况下,只需添加duplicateDel()

def duplicateDel():
    f1 = csv.reader(open('file1.csv', 'rb'))
    writer = csv.writer(open("file2.csv", "wb"))
    x = set()
    for row in f1:
        if row[3] not in x:
            writer.writerow(row)
            x.add( row[3] )

duplicateDel()

我认为您应该多读一点关于python函数是如何工作的。看看here

相关问题 更多 >