paramiko sftp遍历目录和下载文件

时间:2019-09-25 14:43:00

标签: python ssh sftp paramiko

我在远程主机中具有以下目录结构:

+ CLiENT_1
   + cm_generation
       - file1.tsv
   + data_prep
   + logs
+ CLiENT_2
   + cm_generation
       - file2.tsv
   + some_dir
   + logs
+ CLiENT_3
   + cm_generation
       - file3.tsv
   + random_dir_name
   + logs

其中+是目录,-是文件。

我需要下载这些.tsv文件。

这是我尝试过的:

try:
    # connection to host
    sftp = sftp_connection(source_host, source_username, source_password, source_INPUT_DIR)

    # this will fetch `client` directories `CLIENT_1, 2, 3...`.
    files = get_list_directories(sftp)

    if len(files) > 0:
        for file in files:
            mode = file.st_mode
            if S_ISDIR(mode):                   
                # some logic like check if `cm_direction` dir exists.

                # check if .tsv file exists.

                # if .tsv file found, 
                sftp_download(tsv_file_path)

            elif S_ISREG(mode):
                continue

except Exception as e:
    print(str(e))   
finally:
    sftp.close()
    print("Connection closed..")

我有一个client目录的列表,但是在检查这些目录是否包含cm_generation子目录时遇到了问题。并再次检查.tsv中是否存在cm_generation个文件。

0 个答案:

没有答案