这里的问题涉及到stfp如何操作。我很想知道当我连接到SFTP并下载文件时,“幕后”究竟发生了什么。Python当我读取或尝试读取sftp文件时发生了什么?
我一直在使用一些连接到sftp服务器的继承代码,并列出了一个目录:例如
sftp = pysftp.Connection(host='xxxxx', username='xxxx', password='xxxxx', cnopts=cnopts)
sftp.cwd('/some_dir')
server_files = sftp.listdir()
从那里,让我们说我想读server_files[1]
成pandas
数据帧:
我不能简单地尝试读取祝文件,即
pd.read_csv(server_files[1])
# FileNotFoundError: [Errno 2] No such file or directory:
相反;我必须先把get
这个档案如下。
sftp.get(server_files[1])
pd.read_csv(server_files[1])
# Success!
这很好。那里没有问题。然而,我的问题是:
其中在工作记忆中是server_files[1]
对象“存储”?我在get
操作前后都执行了type(server_file[1])
,两个结果都是str
,这表明对象本身没有改变。所以我不太了解该文件的数据保存在哪里。为什么我不需要做类似my file = sftp.get(server_file[1])
的事情?它如何才能处理文件的“名称”?
我不太了解如何使代码正常工作,而是如何操作,但我很感谢在理解这方面的一些帮助。
干杯
约翰
我认为这是有道理的。除当地工作目录外,这个地方在哪里?由于在我的Python环境中没有任何变化,我可以看到(即没有新变量,没有更改内存)? –
“当前工作目录”默认为您执行脚本的目录。尝试运行'print os.getcwd()'。 –