ftp文件实时上传代码
时间: 2023-08-14 16:07:44 浏览: 54
以下是使用Python实现实时上传文件到FTP服务器的示例代码:
```python
import os
import time
from ftplib import FTP
# FTP服务器地址、端口、用户名、密码
FTP_ADDRESS = "ftp.example.com"
FTP_PORT = 21
FTP_USERNAME = "username"
FTP_PASSWORD = "password"
# 本地要上传的文件路径和FTP服务器上的保存路径
LOCAL_PATH = "/path/to/local/file"
FTP_PATH = "/path/on/ftp/server"
# 上传文件到FTP服务器
def upload_file():
ftp = FTP()
ftp.connect(FTP_ADDRESS, FTP_PORT)
ftp.login(FTP_USERNAME, FTP_PASSWORD)
ftp.cwd(FTP_PATH)
# 监听本地文件变化并上传
while True:
for file_name in os.listdir(LOCAL_PATH):
if file_name.endswith(".txt"): # 只上传.txt文件
local_file = os.path.join(LOCAL_PATH, file_name)
with open(local_file, "rb") as f:
ftp.storbinary("STOR " + file_name, f)
print("Uploaded file:", file_name)
time.sleep(1) # 等待1秒钟再检查文件变化
ftp.quit()
if __name__ == "__main__":
upload_file()
```
该代码实现了以下功能:
1. 连接到FTP服务器并登录
2. 进入FTP服务器上指定的保存路径
3. 循环监听本地文件夹中是否有新文件,如果有,则上传该文件到FTP服务器上指定路径
4. 等待1秒钟后再次检查文件夹中是否有新文件
需要注意的是,该示例代码仅上传后缀为 `.txt` 的文件,如果需要上传其他类型的文件,可根据实际需要进行修改。同时,由于代码中使用了 `while True` 循环,因此需要在合适的时候手动停止程序,否则程序将一直运行下去。