2

ディレクトリを選択し、そのディレクトリからファイルをアップロードするループを実行しようとしています。「キャンセル」を押したときに、ループをきちんと (エラーなしで) 停止させることができません

def search_audit():
    chosen_dir = tkFileDialog.askdirectory(parent=root, initialdir=os.sep, title='please select a dir')
    return chosen_dir

def splunk_uploader(ip, port):
    #code to connect socket
    chosen_dir = search_audit()
    while chose_dir != 'NULL': #This won't work
        for path, subdirs, files in os.walk(chosen_dir):
            for filename in files:
                c = os.path.join(path, filename)
                f = open(c, 'r')
                while True:
                    #code sends file
                    s.send(line) #line errno points to, works fine first directory chosen
        chosen_dir = search_audit()
s.close()

私が望んでいたのは、プログラムが実行され、キャンセルを押すまでディレクトリを要求することです。ディレクトリを要求し続けて実行されますが、キャンセルを押すと、C: ドライブ全体がアップロードされます

4

1 に答える 1

2

Noneではなく、値を確認してください'NULL'。あなたのコードは今書かれているので、文字通り名前が付けられたファイルを選択するだけですNULL

于 2013-02-06T12:02:19.677 に答える