python中怎么用paramiko批量改文件名

小億
102
2024-01-03 17:23:21
欄目: 編程語言

使用paramiko庫(kù)可以通過SSH連接到遠(yuǎn)程服務(wù)器,并執(zhí)行命令來批量改變文件名。

首先,確保已經(jīng)安裝了paramiko庫(kù)??梢允褂靡韵旅畎惭b:

pip install paramiko

然后,可以使用以下代碼進(jìn)行批量改變文件名的操作:

import paramiko

def rename_files(hostname, username, password, files):
    # 創(chuàng)建SSH客戶端
    client = paramiko.SSHClient()
    # 允許連接不在known_hosts文件中的主機(jī)
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    # 連接遠(yuǎn)程服務(wù)器
    client.connect(hostname=hostname, username=username, password=password)

    for old_filename, new_filename in files:
        # 執(zhí)行rename命令
        command = f'mv {old_filename} {new_filename}'
        stdin, stdout, stderr = client.exec_command(command)
        # 打印輸出結(jié)果
        print(stdout.read().decode())
        # 打印錯(cuò)誤信息
        print(stderr.read().decode())

    # 關(guān)閉SSH連接
    client.close()

# 定義服務(wù)器信息和文件名修改列表
hostname = '服務(wù)器地址'
username = '用戶名'
password = '密碼'
files = [('舊文件名1', '新文件名1'), ('舊文件名2', '新文件名2'), ...]

# 調(diào)用函數(shù)進(jìn)行批量文件名修改
rename_files(hostname, username, password, files)

在上面的代碼中,需要替換以下部分:

  • hostname:遠(yuǎn)程服務(wù)器的地址
  • username:登錄遠(yuǎn)程服務(wù)器的用戶名
  • password:登錄遠(yuǎn)程服務(wù)器的密碼
  • files:文件名修改列表,格式為[('舊文件名1', '新文件名1'), ('舊文件名2', '新文件名2'), ...]

以上代碼會(huì)依次修改文件名并輸出結(jié)果和錯(cuò)誤信息。

0