[Errno 13] Permission denied python上传文件到sftp
时间: 2023-11-22 10:48:41 浏览: 181
出现[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()
```
相关问题
PermissionError: [Errno 13] Permission denied python 只读
这个错误通常是由于文件权限问题引起的。如果你想以只读模式打开一个文件,但是你没有读取该文件的权限,就会出现这个错误。你可以尝试以下几种方法解决这个问题:
1. 确认你有读取该文件的权限。你可以使用 `ls -l` 命令查看文件的权限,如果你没有读取该文件的权限,可以使用 `chmod` 命令修改文件权限。
2. 确认你的程序没有在写入该文件。如果你的程序在打开该文件时使用了 `w` 或 `a` 模式,那么它会尝试写入该文件,但是如果你没有写入该文件的权限,就会出现这个错误。你可以尝试使用 `r` 模式打开该文件。
3. 确认该文件是否被其他程序占用。如果该文件正在被其他程序占用,你可能无法以只读模式打开它。你可以尝试等待一段时间后再次尝试打开该文件。
python 上传本地文件[Errno 13] Permission denied:
这个错误通常是由于权限问题导致的,可能是你没有足够的权限来访问该文件或目录。你可以尝试以管理员身份运行你的 Python 程序,或者将文件或目录的权限设置为可读写。
以下是一些可能有用的解决方法:
1. 以管理员身份运行你的 Python 程序。
2. 将文件或目录的权限设置为可读写。
3. 检查文件或目录是否被其他程序占用,如果是,请关闭该程序并重试。
4. 尝试将文件或目录移动到其他位置,然后再次尝试上传。
阅读全文