-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を学び、ディレクターにファイル/ディレクトリをリストするクラスを作成します。

どこが間違っていますか?

4

2 に答える 2

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 に答える
0

まず第一に、あなたが犯している間違いは変数名の違いです。最初に「辞書」を使用し、次に「辞書」を使用してそれらのいずれかを使用しました。

それとは別に、あなたが直面している問題は、クラス内の変数がグローバルではないことだと思います。問題を解決するには、以下のように変数をグローバルとして宣言する必要があります。

   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 の計算の両方を追加する必要があります。

方法 1:

   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)

方法 2:

   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 に答える