📜  使用Python访问同一网络中设备的文件(1)

📅  最后修改于: 2023-12-03 15:22:20.701000             🧑  作者: Mango

使用Python访问同一网络中设备的文件

在同一网络中的设备之间进行文件的传输和共享是非常常见的,Python中提供了很多库和模块来帮助我们完成这一操作。

使用SMB库访问Windows共享文件夹

SMB库可以用于在Windows网络共享文件夹之间进行文件的传输和共享。

首先,需要安装smb库:

pip install pysmb

然后,可以使用以下代码来连接Windows共享文件夹:

from smb.SMBConnection import SMBConnection
from smb import smb_structs

# 设置SMB连接信息
conn = SMBConnection('username', 'password', 'client_name', 'server_name', use_ntlm_v2 = True)

# 连接SMB服务器
conn.connect(ip_address, port)

# 列出共享文件夹
shares = conn.listShares()

# 打印共享文件夹名字
for share in shares:
    print(share.name)

# 读取共享文件夹中的文件
file_name = '文件名'
file_obj = conn.retrieveFile('共享文件夹名', file_name)

# 写入文件到共享文件夹中
conn.storeFile('共享文件夹名', file_name, file_obj)

# 断开连接
conn.close()
使用FTPLib库访问FTP服务器

FTPLib库可以用于在FTP服务器之间进行文件的传输和共享。

可以使用以下代码连接FTP服务器:

import ftplib

# 设置FTP连接信息
ftp = ftplib.FTP(host=ip_address, user='username', passwd='password')

# 登录FTP服务器
ftp.login()

# 列出FTP服务器上的所有文件夹和文件
ftp.dir()

# 切换到指定的FTP服务器上的文件夹
ftp.cwd('文件夹名')

# 下载文件
with open('文件名', 'wb') as f:
    ftp.retrbinary('RETR 文件名', f.write)

# 上传文件
with open('文件名', 'rb') as f:
    ftp.storbinary('STOR 文件名', f)

# 关闭FTP连接
ftp.quit()
使用SCP库访问 Linux 服务器

SCP库可以用于在Linux服务器之间进行文件的传输和共享。

可以使用以下代码连接Linux服务器:

import paramiko

# 设置SSH连接信息
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=ip_address, username='username', password='password')

# 下载文件
sftp = ssh.open_sftp()
sftp.get('/path/to/remote/file', '/path/to/local/file')
sftp.close()

# 上传文件
sftp = ssh.open_sftp()
sftp.put('/path/to/local/file', '/path/to/remote/file')
sftp.close()

# 关闭SSH连接
ssh.close()

以上就是使用Python访问同一网络中设备的文件的介绍,希望对你有所帮助。