如果我将这个python函数包装在def()调用中,为什么它不起作用?

如果我将这个python函数包装在def()调用中,为什么它不起作用?,python,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:

如果该代码未包装在函数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] )
“包装”它到
def
,意味着您要声明您的函数以供将来使用,因此,为了使用它,您需要调用它。在您的情况下,只需添加
duplicateDel()


我认为您应该多读一些关于函数在python中如何工作的内容。请看一看

,因为您从未调用函数,只是定义了它<代码>定义函数告诉Python如何做某事。它并没有告诉Python去做。
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()