ftplib远程更改文件

3 投票
1 回答
1530 浏览
提问于 2025-04-16 21:27

我有一些文件在远程服务器上:

___________
[somevar]
Test: 2
___________

我想把变量 "Test" 改成 3,比如说,这样我就会得到:

___________
[somevar]
Test: 3
___________

我正在使用这个函数来上传文件:

    ftp = ftplib.FTP('')
    ftp.connect(HOSTNAME,PORT)
    ftp.login(FTP_NAME,FTP_PASS)
    file = open(PATH + FILENAME, 'rb')
    ftp.storbinary('STOR '+FILENAME, file)
    file.close() 
    ftp.quit()

我知道我可以先下载文件,修改完再上传回去,但我在寻找一种可以直接在远程修改的办法。

你觉得这样可以实现吗?


我可以通过 IOString 来做到这一点吗:

这是我的代码,但不幸的是,这个方法不管用 :(


    # Writing to a buffer
    ChangeVar = StringIO("[Somevar] \nTest: 3")
    ftp = ftplib.FTP('')
    ftp.connect(HOSTNAME,FTP_PORT)
    ftp.login(FTP_NAME,FTP_PASS)

    ftp.storbinary('STOR '+Myvarfile, switchVar)

    #Disconnect
    ftp.quit()

1 个回答

0

你不能在远程直接修改文件,除非使用RETRSTOR这两个命令。不过,如果文件很小的话,你可以在内存中编辑它,但不保存。

撰写回答