簡體   English   中英

如果將它包裝在def()調用中,為什么此python函數不起作用?

[英]Why does this python function not work if I wrap it in a def() call?

如果未將其包裝在函數plicateDel()中,則此代碼有效。 很抱歉,但是我對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()

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中工作的信息。 在這里看看

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM