-1
import os
class sortare:
    dictionar = raw_input("Scrie calea catre director: ")
    lista = lista.os.listdir(dicionar)
    def __init__(self):
        for item in lista:
            print item
            print len(item)

我学习python,并创建了一个类,该类在director 上列出文件/目录。

哪里错了?

4

2 回答 2

0

首先,您犯的错误是变量名称的不同,首先您使用“dictionar”,然后使用“dicionar”使用它们中的任何一个。

除此之外,我猜您面临的问题是类中的变量不是全局的,要解决此问题,您可以做的是将变量声明为全局变量,如下所示:

   import os
   class sortare:
       global dictionar, lista
       dictionar = raw_input("Scrie calea catre director: ")
       lista = os.listdir(dictionar)
       def __init__(self):

           lista = os.listdir(dictionar)
           for item in lista:
               print item
               print len(item)

但这不是编写代码的正确方法,您应该在外部请求输入参数,然后只将“lista”作为参数传递给函数,或者您可以在 init 中添加请求输入和计算 lista。

方法一:

   import os
   class sortare:

       def __init__(self, lista):

           for item in lista:
               print item
               print len(item)


   dictionar = raw_input("Scrie calea catre director: ")
   lista = os.listdir(dictionar)
   sortare(lista)

方法二:

   import os
   class sortare:


       def __init__(self):
           dictionar = raw_input("Scrie calea catre director: ")
           lista = os.listdir(dictionar)
           for item in lista:
               print item
               print len(item)

   sortare(lista)
于 2016-08-26T22:06:51.020 回答
0
import os

class sortare:
    def __init__(self):
        dictionar = raw_input("Scrie calea catre director: ")
        lista = lista.os.listdir(dicionar)
        for item in lista:
            print item
            print len(item)

sortare_object = sortare()

你创建了一个类。要运行__init__方法,您需要创建该类的对象。这就是我添加sortare_object = sortare()行的原因。

于 2016-08-26T21:45:20.820 回答