运行循环时获取线程内变量的值(python)

时间:2019-05-10 14:28:26

标签: python multithreading loops

我正在尝试在ftp目录中获取文件名。实际上,我的问题是当我使用循环时,我得到了一个空字符串。如果我没有lopp运行我的程序,我会得到正确的文件名。 这是我的程序

class Watch:

    def __init__(self):
     self.m=""
    def goh(self):
     while True:
        j = 0
        ftp = FTP('')
        ftp.connect('127.0.0.1', 1026)
        ftp.login(user='user', passwd='12345')
        ftp.cwd("/FTM/Simulateur/1.MPTC_ACK")
        files = ftp.nlst()
        while j < len(files):
            timestamp = ftp.voidcmd("MDTM " + files[j])[4:].strip()
            time = parser.parse(timestamp)
            self.time_dic = str(time)
            self.tab_file = files[j]
            os.chdir("/Users/ouhejjouyou/Desktop/eleclink/Fichier_in/1.MPTC_ACK")
            fhandle = open(files[j], 'wb')
            ftp.retrbinary("RETR " + str(self.tab_file), fhandle.write)
            fhandle.close()
            ftp.delete(self.tab_file)
            self.m = self.time_dic + " Reception du fichier " + self.tab_file + " réussi\n"
            j = j + 1

a=Watch()
t = Thread(target=a.goh)
t.start()
print(a.m)
t.join()

0 个答案:

没有答案