[Errno 13] Permission denied python上传文件到sftp
时间: 2023-11-22 20:48:41 浏览: 36
出现[Errno 13] Permission denied错误可能是因为你没有写入目标文件夹的权限。你可以尝试以下方法解决该问题:
```python
import paramiko
hostname = 'XXX'
username = 'XXX'
password = '123456'
port = 22
# 建立ssh连接
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=hostname, port=port, username=username, password=password)
# 创建sftp客户端
sftp = ssh.open_sftp()
# 如果远程服务器上的文件夹不存在可以先创建
try:
sftp.stat('/opt')
except FileNotFoundError:
sftp.mkdir('/opt')
# 上传本地文件到远程服务器
local_path = 'd:\\output.xml'
remote_path = '/opt/output.xml'
sftp.put(local_path, remote_path)
# 关闭sftp客户端和ssh连接
sftp.close()
ssh.close()
```
相关问题
python 上传本地文件[Errno 13] Permission denied:
这个错误通常是由于权限问题导致的,可能是你没有足够的权限来访问该文件或目录。你可以尝试以管理员身份运行你的 Python 程序,或者将文件或目录的权限设置为可读写。
以下是一些可能有用的解决方法:
1. 以管理员身份运行你的 Python 程序。
2. 将文件或目录的权限设置为可读写。
3. 检查文件或目录是否被其他程序占用,如果是,请关闭该程序并重试。
4. 尝试将文件或目录移动到其他位置,然后再次尝试上传。
python保存文件遇到[Errno 13] Permission denied
[Errno 13] Permission denied 是一个错误信息,表示在尝试保存文件时遇到了权限问题。这通常是因为你没有足够的权限来写入目标文件夹。为了解决这个问题,你可以尝试以下方法:
1. 以管理员身份运行程序。在 Windows 上,你可以右键单击程序或命令提示符,然后选择“以管理员身份运行”。在 Linux 或 macOS 上,你可以在终端中使用 `sudo` 命令运行程序。
2. 更改目标文件夹的权限。在 Windows 上,你可以右键单击文件夹,选择“属性”,然后在“安全”选项卡中更改权限。在 Linux 或 macOS 上,你可以使用 `chmod` 命令更改文件夹的权限。
3. 将文件保存到其他文件夹,例如你的用户文件夹或桌面。这些文件夹通常具有足够的权限供你写入文件。