Python用户名上传fi

2024-06-16 10:32:49 发布

您现在位置:Python中文网/ 问答频道 /正文

大家好

我想知道是否有可能看到哪个用户上传了SFTP服务器上的文件?你知道吗

我必须下载一些文件,我想检查用户(FTP登录或windows用户)谁上传了文件。你知道吗

提前谢谢。你知道吗

我剧本的一部分

try:
    file.write('Start done.' + '\n')
    file.write('Host : ' + str(host) + ':' + str(port) + '\n')
    file.write('UserName : ' + str(username) + '\n')
    transport = paramiko.Transport((host, port))
    transport.connect(username = username, password = password)
    sftp = paramiko.SFTPClient.from_transport(transport)

    file.write('Connexion done.' + '\n')

    for i in sftp.listdir():
        lstatout=str(sftp.lstat(i)).split()[0]
        if 'd' not in lstatout and i.startswith(templatefilename): 
            file.write('SourceFolder : ' + path + '\n')
            file.write('DestinationFolder : ' + localpath + '\n')
            file.write('FileToCopy : ' + i + '\n')
            sftp.get(path + i, localpath + i)

             #here i would like to create txt file with some informations about my file. 
             #Most important info is username who has uploaded the file

            fname = localpath + i
            excel = win32.gencache.EnsureDispatch('Excel.Application')
            excel.DisplayAlerts = False
            wb = excel.Workbooks.Open(fname)

            wb.SaveAs(localpath + filename_destination, FileFormat = 51)    #FileFormat = 51 is for .xlsx extension
            wb.Close()                                                      #FileFormat = 56 is for .xls extension
            excel.Application.Quit()

            os.remove(localpath + i)

    sftp.close()
    transport.close()

    file.write('------------------------- Download done -------------------------' + '\n')
    file.close()
except Exception as e:
    print('error : ' + str(e))
    file.write('error : ' + str(e) + '\n')
    file.close()

Tags: 文件forcloseisusernameexcelfilewrite