我认为我的问题听起来有点愚蠢,但我对python编程很陌生。
我只想要一个文本变量,它从FTP服务器的.txt文件中获取一个字符串。
总之:在FTP服务器上存储了一个.txt文件,我希望将该文件的内容存储在变量中......
这是我到目前为止......有人可以帮帮我吗?我提前感谢使用Python 3.6.3 :)!
from ftplib import FTP
ftp = FTP('1bk2t.ddns.net')
ftp.login(user='User', passwd = 'Password')
ftp.cwd('/path/')
filename = 'filename.txt'
ftp.retrbinary("RETR " + filename, open(filename, 'wb').write)
ftp.quit()
var = localfile.read
答案 0 :(得分:1)
如果要将文本文件内容下载到内存而不使用任何临时文件,请使用retrlines
like:
contents = ""
def collectLines(s):
global contents
contents += s + "\n"
ftp.retrlines("RETR " + filename, collectLines)
或使用数组:
lines = []
ftp.retrlines("RETR " + filename, lines.append)
答案 1 :(得分:0)
您可以将StringIO
用作retrlines
RETR
的缓冲区:
import io
with io.StringIO() as buffer_io:
ftp.retrlines(f'RETR {filename}', buffer_io.write)
content = buffer_io.getvalue()