首页 > 编程知识 正文

Python自动脚本文件传输

时间:2023-11-19 16:13:44 阅读:294698 作者:FXJQ

Python自动脚本文件传输指的是使用Python编写自动化脚本程序,实现文件在不同终端之间的传输。本文将从不同的角度对Python自动脚本文件传输进行详细阐述。

一、使用FTP协议传输文件

1、使用ftplib模块连接FTP服务器


import ftplib

ftp = ftplib.FTP('ftp.server.com')
ftp.login('username', 'password')

2、上传文件到FTP服务器


filename = 'example.txt'
with open(filename, 'rb') as file:
    ftp.storbinary(f'STOR {filename}', file)

3、从FTP服务器下载文件


filename = 'example.txt'
with open(filename, 'wb') as file:
    ftp.retrbinary(f'RETR {filename}', file.write)

二、使用SFTP协议传输文件

1、使用paramiko库连接SFTP服务器


import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('sftp.server.com', username='username', password='password')
sftp = ssh.open_sftp()

2、上传文件到SFTP服务器


local_path = 'example.txt'
remote_path = '/path/to/remote/example.txt'
sftp.put(local_path, remote_path)

3、从SFTP服务器下载文件


local_path = 'example.txt'
remote_path = '/path/to/remote/example.txt'
sftp.get(remote_path, local_path)

三、使用HTTP协议传输文件

1、使用requests库发送HTTP请求


import requests

url = 'http://example.com/upload'
filename = 'example.txt'
files = {'file': open(filename, 'rb')}
response = requests.post(url, files=files)

2、使用flask库接收HTTP请求并保存文件


from flask import Flask, request

app = Flask(__name__)

@app.route('/upload', methods=['POST'])
def upload():
    file = request.files['file']
    file.save('/path/to/save/example.txt')
    return 'File saved successfully'

if __name__ == '__main__':
    app.run()

四、使用Socket传输文件

1、创建服务端


import socket

host = '127.0.0.1'
port = 9000

server_socket = socket.socket()
server_socket.bind((host, port))
server_socket.listen(1)

client_socket, client_address = server_socket.accept()

2、创建客户端


import socket

host = '127.0.0.1'
port = 9000

client_socket = socket.socket()
client_socket.connect((host, port))

3、服务端发送文件给客户端


filename = 'example.txt'
with open(filename, 'rb') as file:
    while True:
        data = file.read(1024)
        if not data:
            break
        client_socket.send(data)

4、客户端接收文件


filename = 'example.txt'
with open(filename, 'wb') as file:
    while True:
        data = client_socket.recv(1024)
        if not data:
            break
        file.write(data)

五、使用云存储服务传输文件

1、使用boto3库连接云存储服务


import boto3

s3 = boto3.client('s3', aws_access_key_id='YOUR_ACCESS_KEY', aws_secret_access_key='YOUR_SECRET_KEY')

2、上传文件到云存储服务


filename = 'example.txt'
bucket_name = 'example-bucket'
s3.upload_file(filename, bucket_name, filename)

3、从云存储服务下载文件


filename = 'example.txt'
bucket_name = 'example-bucket'
s3.download_file(bucket_name, filename, filename)

以上是关于Python自动脚本文件传输的几种方法和示例代码,可以根据不同的需求选择合适的方法进行文件传输。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。