在Python中是否可以通过FTP编辑文件?

2024-06-16 12:47:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个Python机器人,其中代码由Heroku托管。 我添加的一个特性允许用户注册一个玩家代号,并将它与他们的不一致用户名相关联,保存到一个CSV文件中。很简单。然而,事情对我来说相当混乱,因为在Heroku上运行之后,我无法访问更新的文件。因此,一旦这个CSV被更新,我就无法以任何方式访问它,一旦代码停止运行,或者出现中断,它就会重新运行我上传的原始文件中的所有内容,丢失存储在CSV中的所有信息。你知道吗

我现在想尝试通过FTP在我的网站上存储这些值。我四处找了找,找不到办法。 我知道如何使用Python访问和上传,但是我想直接编辑它们。你知道吗

这可能吗?你知道吗


Tags: 文件csv代码信息内容heroku方式玩家
1条回答
网友
1楼 · 发布于 2024-06-16 12:47:19

谢谢你的评论。 我相信它现在起作用了。你知道吗

使用FTP库访问文件,使用StringIO库读取文件。你知道吗

ftp = FTP('server')
ftp.login('username','password')
string = StringIO()
ftp.retrlines('RETR /filepath.json', string.write)

所以,通过这种方式,它被读取为一个字符串,然后使用JSON库,我解析它。你知道吗

stored = json.loads(string.getvalue())

然后,使用json.append文件()。你知道吗

将字符串转换为字节。你知道吗

dump = bytes.(json.dumps(stored), 'utf-8')

最后,写入新数据以覆盖原始文件。你知道吗

ftp.storbinary('STOR /filepath.json', io.BytesIO(dump))

我可能把事情搞得太复杂了,但不知怎么的,终于成功了。我可以很容易地访问存储数据的文件。 生活是美好的。你知道吗

相关问题 更多 >