跨服务器批量复制文件,会用到如下库
subprocess 模块是 Python 的标准库之一,用于在 Python 脚本中创建新的进程、连接到子进程以及与子进程进行交互。通过 subprocess 模块,您可以执行外部命令、启动新进程、传递参数等。
import pandas as pd
import subprocess
import os
sql_file_name = input('请输入SQL文件路径: ') + ‘.xlsx’#E:\pythonProject\SQL
sql_file = pd.read_excel(sql_file_name)
#本地文件的位置
local_path = input(‘请输入本地文件位置:’)
#远程服务器的位置
remote_host_path = input(‘请输入远程服务器位置:’)
i = 0
fail_list = []
for sql_index in sql_file[‘sql路径’]:
remote_path = sql_index
folder_path = os.path.dirname(str(remote_path))#去掉文件名返回文件目录
# 命令转换为指定的格式
command = ‘if exist “{0}\{3}” ( xcopy “{2}\{1}” “{0}\{3}” /y ) else ( md “{0}\{3}” & xcopy “{2}\{1}” “{0}\{3}” )’.format(
local_path, remote_path, remote_host_path, folder_path)
result = subprocess.run(command, shell=True)
# 获取运行的状态
status = result.returncode
if status == 0:
i = i + 1
else:
fail_list.append(sql_index)
输出结果
print(“成功复制的数据:”, str(i))
print(“失败的列表:”, fail_list)