当前位置: 首页 > news >正文

借用python 学习 VM的 FTP(VisionMaster4.3)

无懒不python:看官方V社区有介绍: 需要安装 Quick Easy FTP Server V4.0.0.exe

为了表示敬意再次放出链接:

V社区-机器智能技术交流-VM关于FTP存图的一点分享

好了VM先放一边 先用python自收 自发: 毕竟这个免费

FTP服务端: 0.ftpserver.py

需要安装的库 和 注意事项已经在注视里面说明;

#pip install pyftpdlib
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
r"""
运行之前需要安装好
#pip install pyftpdlibwin10 复制的的路径是这样的
C:\Users\Administrator\Desktop\FTP路径这么写也没问题
"C:/Users/Administrator/Desktop/FTP/path/to/ftp"
"C:\\Users\\Administrator\\Desktop\\FTP\\path\\to\\ftp"
个人倾向于这种 因为复制过来就这样
r"C:\Users\Administrator\Desktop\FTP"路径格式:Windows系统,路径需要用双反斜杠 \\ 或者原始字符串 r"C:\FTP"。权限问题:确保你的Python脚本有权限访问和写入指定的目录。端口21的权限:默认FTP端口是21,但这个端口需要管理员权限才能监听。你可以选择使用其他端口(如2121),或者以管理员身份运行脚本。用户名、密码、目录
user", "password" "C:/Users/Administrator/Desktop/FTP/path/to/ftp""""def main():# 创建一个授权器,用于管理用户和权限authorizer = DummyAuthorizer()# 添加一个用户(用户名、密码、目录、权限)# 权限说明:#   elr = 更改目录、列出文件、读取文件#   m = 修改文件(上传、删除、重命名等)authorizer.add_user("user", "password", "C:/Users/Administrator/Desktop/FTP/path/to/ftp", perm="elrmw")# 添加匿名用户(可选)#authorizer.add_anonymous("/path/to/anonymous")# 创建FTP处理器handler = FTPHandlerhandler.authorizer = authorizer# 设置服务器地址和端口 server = FTPServer(("0.0.0.0", 21), handler)# 启动FTP服务器server.serve_forever()if __name__ == "__main__":main()

双击运行它 只要不报错 那么它的效果 和Quick Easy FTP Server V4.0.0.exe 是一样的

好了

接下来继续做 1.ftpupup.py [用于上传图ha片] 且同级目录有一张用于测试的图片

上传不需要安装外部库 标准python3.8 自带的:

#ftplib 不需要安装#    authorizer.add_user("user", "password", "C:/Users/Administrator/Desktop/FTP/path/to/ftp", perm="elrmw")from ftplib import FTPdef upload_file_to_ftp(ftp_server, username, password, local_file_path, remote_file_path):"""上传文件到FTP服务器:param ftp_server: FTP服务器地址:param username: 用户名:param password: 密码:param local_file_path: 本地文件路径:param remote_file_path: 远程文件路径"""try:# 创建FTP连接ftp = FTP(ftp_server)ftp.login(username, password)print(f"成功连接到FTP服务器: {ftp_server}")# 打开本地文件with open(local_file_path, 'rb') as file:# 使用STOR命令上传文件ftp.storbinary(f'STOR {remote_file_path}', file)print(f"文件上传成功: {remote_file_path}")except Exception as e:print(f"上传文件时发生错误: {e}")finally:# 关闭FTP连接ftp.quit()print("FTP连接已关闭")import os
import timePlk=os.getcwd()		# 示例用法
ftp_server = "127.0.0.1"  # 替换为你的FTP服务器地址
username = "user"      # 替换为你的FTP用户名
password = "password"      # 替换为你的FTP密码
local_file_path = fr"{Plk}/2025-01-21_02_29_24.png"  # 替换为本地图片文件路径while True:SaveFileName=time.strftime('%Y-%m-%d_%H_%M_%S');remote_file_path = fr"/{SaveFileName}_ftp.png"  # 替换为FTP服务器上的目标路径upload_file_to_ftp(ftp_server, username, password, local_file_path, remote_file_path)time.sleep(2)# 2秒钟 更新一次
# 

先运行服务端在运行客户端 可以看到 服务端回显 和 客户端的输出

现在一切正常 打开VM: 拖一个 图像源 脚本 输出图像

图像源设置图像 脚本 输出一个字符串 

out0 = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss");

主要是为了获取当前时间用于保存文件名;

接下来输出图像模块:

输入源肯定是 图像源1.图像

存图使能打开; 保存原图打开;

原图路径设置好

[一定要设置原图路径][当打开启用FTP 时原图路径会作为]

借用V社区的话 原图路径:表示 VM 存图在本地哪个文件夹内,本例是在桌面新建了一个名为“中转站”的文件夹。这也说明了 VM 是先将图片存在本地,然后上载至服务端的逻辑过程。

[如果你的电脑足够慢 你可以清楚的看到 原图路径 在上传ftp的时候出现一张图 又消失]

原图命名 继承自  脚本1.out0[] 也就是上面脚本生成的时间字符串

启用FTP 打开

服务器IP 127.0.0.1

服务器端口:21

用户名:user

密码:password

编码格式:UINCODE

FTP路径:\ [一个反斜杠就是根目录 ][反斜杠后面加字符就会创建文件夹]

连接:打开 [ 网络正常 服务器正常  IP 端口 用户名 密码 编码格式 FTP路径 设置好才能打开]

输出使能:打开

像素格式:RGB24

最后吐槽一下 VM 模块参数 界面做的:

界面尺寸又小 ;选项又多,还不能缩放界面尺寸[左右不能改变尺寸算了上下也不能改变],更多选项只能通过 滚轮 或者滑动条 才能看到设置项

单个模块 一张截图又截不完整 得分好几张图截取 大大的不方便学习;

上截图吧.

py的ftp服务端要运行:  VM端点击执行 发现图已经传过去了 效果和1.ftpupup.py 是一样的

最后远程 喊话VM研发 就不能把模块做成这样吗 窗口尺寸可以改变 上下 左右能拖动改变窗口大小 一眼看完所有参数的.???????????   !!!!!

 最后 发现VM 运行FTP传图没有python快 猜测是因为负载原因;

但是VM FTP传图厉害的一点是 不管服务器在不在线 存图模块它都可以正常运行不报错 不红 一旦服务器在线 会自动将 没在线运行的图自动传过去.

此致 敬礼;

相关文章:

借用python 学习 VM的 FTP(VisionMaster4.3)

无懒不python:看官方V社区有介绍: 需要安装 Quick Easy FTP Server V4.0.0.exe 为了表示敬意再次放出链接: V社区-机器智能技术交流-VM关于FTP存图的一点分享 好了VM先放一边 先用python自收 自发: 毕竟这个免费 FTP服务端: 0.ftpserver.py 需要安装的库 和 注意事项已经在…...

BDD风格测试

BDD风格测试(Behavior-Driven Development) BDD(行为驱动开发)是一种以自然语言描述系统行为的测试方法论,强调团队协作与业务价值验证。结合Mockito的BDD风格API,可以编写更符合业务场景描述、更易读的测…...

[免费]Springboot+Vue医疗(医院)挂号管理系统【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的SpringbootVue医疗(医院)挂号管理系统,分享下哈。 项目视频演示 【免费】SpringBootVue医疗(医院)挂号管理系统 Java毕业设计_哔哩哔哩_bilibili 项目介绍 在如今社会上,关于信息上…...

Linux 查看磁盘中的大文件

在 Linux 系统中,你可以使用以下方法来查看磁盘中的大文件信息: 1. 使用 find 命令 find 命令可以递归查找指定目录下的大文件。 find /path/to/directory -type f -size 100M -exec ls -lh {} \;/path/to/directory:要查找的目录路径&…...

浅识MQ的 Kafka、ActiveMQ、RabbitMQ、RocketMQ区别

DeepSeek回复: 以下是主流消息队列(MQ)的对比分析,结合核心特性、适用场景和实际案例说明: 一、主流MQ对比分析 维度 Kafka RabbitMQ RocketMQ ActiveMQ所属公司Apache(LinkedIn开源)…...

君海游戏岗位,需要私我

游戏岗位内推啦,需要找我哈 共14个职位 广告投放主管 社会招聘全国 广告投放 社会招聘全国 设计主管 社会招聘全国 海外投放 社会招聘广东省广州市 海外运营 社会招聘广东省广州市 产品运营专员 社会招聘广东省广州市 平台运营 社会招聘广东…...

Vue2/Vue3分别如何使用Watch

在 Vue 2 和 Vue 3 中,watch 用于监听数据的变化并执行相应的逻辑。虽然两者的核心功能相同,但在语法和使用方式上有一些区别。以下是 Vue 2 和 Vue 3 中使用 watch 的详细说明: Vue 2 中的 watch 在 Vue 2 中,watch 是通过选项式…...

boss直聘登录 网易易盾 无感 滑块 分析

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 逆向分析 实测网站是存在风控的比较…...

蓝桥杯 Java B 组之日期与时间计算(闰年、星期计算)

Day 5:日期与时间计算(闰年、星期计算) 在编程竞赛中,日期和时间计算是常见考点,涉及 闰年判断、星期计算、日期间隔计算 等问题。本日的学习目标: 判断闰年计算某个日期是星期几计算两个日期之间相差多少…...

51单片机之引脚图(详解)

8051单片机引脚分类与功能笔记 1. 电源引脚 VCC(第40脚):接入5V电源,为单片机提供工作电压。GND(第20脚):接地端,确保电路的电位参考点。 2.时钟引脚 XTAL1(第19脚&a…...

掌控系统性能的利器:自动化系统性能监控工具

友友们好! 我的新专栏《Python进阶》正式启动啦!这是一个专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会找到: ● 深入解析:每一篇文章都将…...

用大模型学大模型03-数学基础 概率论 随机变量 概率分布

deepseek.com:什么是概率,什么是随机变量?深度学习中常用概率的分布有哪些? 1. 什么是概率? 概率是描述事件发生的可能性的数值,范围在 0 到 1 之间: 0:事件不可能发生。1:事件必…...

ASP.NET Core 使用 FileStream 将 FileResult 文件发送到浏览器后删除该文件

FileStream 在向浏览器发送文件时节省了服务器内存和资源,但如果需要删除文件怎么办?本文介绍如何在发送文件后删除文件;用 C# 编写。 另请参阅:位图创建和下载 使用FileStream向浏览器发送数据效率更高,因为文件是从…...

如何使用DHTMLX Scheduler的拖放功能,在 JS 日程安排日历中创建一组相同的事件

DHTMLX Scheduler 是一个全面的调度解决方案,涵盖了与规划事件相关的广泛需求。假设您在我们的 Scheduler 文档中找不到任何功能,并且希望在我们的 Scheduler 文档中看到您的项目。在这种情况下,很可能可以使用自定义解决方案来实现此类功能。…...

UE_C++ —— Unreal Interfaces

目录 一,Declare an Interface in C 二,Interface Specifiers 三,Implement an Interface in C 四,Declare Interface Functions 五,C Only Interface Functions 六,Blueprint Callable Interface Fu…...

mapbox 从入门到精通 - 目录

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀总目录1.1 ☘️ mapbox基础1.2 ☘️…...

CentOS搭建PPPOE服务器

一、安装软件包 yum -y install rp-pppoe 二、配置服务器 1.修改配置文件 打开/etc/ppp/pppoe-server-options文件 nano /etc/ppp/pppoe-server-options 编辑为以下内容: # PPP options for the PPPoE server # LIC: GPL require-pap require-chap login …...

在 CentOS 系统中配置交换空间(Swap)解决内存不足

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template 🌺 仓库主页: GitCode︱ Gitee ︱ Github 💖 欢迎点赞 👍 收藏 ⭐评论 …...

pytorch训练五子棋ai

有3个文件 game.py 五子棋游戏 mod.py 神经网络模型 xl.py 训练的代码 aigame.py 玩家与对战的五子棋 game.py class Game:def __init__(self, h, w):# 行数self.h h# 列数self.w w# 棋盘self.L [[- for _ in range(w)] for _ in range(h)]# 当前玩家 - 表示空 X先…...

超越DeepSeek R1的Moe开源大模型 Qwen2.5-max 和 Qwen Chat Web UI 的发布,阿里搅动AI生态

敲黑板,说重点,最近阿里推出的 Qwen2.5-max 和 Qwen Chat Web UI,将对AI生态又一次冲击。 说冲击,因为 DeepSeek R1的热潮还未散退的情况下,由于服务器压力不能注册新的API,然后价格涨价,服务有…...

动态规划两个数组的dp问题系列一>两个字符串的最小ASCII 删除和

这里写目录标题 题目解析:状态表示:状态转移方程:初始化:填表顺序:返回值:代码呈现: 题目解析: 状态表示: 状态转移方程: 初始化: 填表顺序&#…...

【C语言】程序环境与预处理

目录 程序的翻译环境和执行环境 粗谈编译链接 翻译环境 编译的几个阶段及链接 运行环境 预处理详解 预定义符号 #define #define 定义标识符 #define 定义宏 #define 替换规则 #和## 带副作用的宏参数 宏和函数的对比 命名约定 #undef 命令行定义 条件编译 …...

DeepSeek 背后的技术:GRPO,基于群组采样的高效大语言模型强化学习训练方法详解

强化学习(Reinforcement Learning, RL)已成为提升大型语言模型(Large Language Models, LLMs)推理能力的重要技术手段,特别是在需要复杂推理的任务中。DeepSeek 团队在 DeepSeek-Math [2] 和 DeepSeek-R1 [3] 模型中的…...

AnythingLLM打造私有知识库

一、 OllamaDeepSeek安装 https://blog.csdn.net/Stestack/article/details/145405151?spm1001.2014.3001.5502二、 nomic-embed-text nomic-embed-text主要用于文本嵌入和句子相似度任务,能够将这些任务应用于分类、聚类、检索等多种自然语言处理场景。该模型在…...

springboot多数据源事务管理

在Java应用中,使用多数据源时,事务管理是一个常见且复杂的问题。由于每个数据源都有自己的事务管理器,跨多个数据源的事务管理需要特别处理。以下是几种常见的解决方案: 1. JTA(Java Transaction API) JT…...

Lineageos 22.1 aosp15 定制学习专栏介绍

一.前言 学习了一段时间的rom开发,需求也大概做了一些,但是一直没有记录下来总结,这个专栏开始会基于如下平台开始尝试做一些常见模块的需求定制,记录学习,如果有错误欢迎指正,大家一起学习!至于pixel编译…...

win10中mstsc远程Centos-Stream 9图形化界面

文章目录 1 前置状态2 安装配置XRDP3 关闭SELinux3.1 查看selinux状态3.2 关闭selinux 4 启动XRDP5 Win10远程连接测试 1 前置状态 已安装CentOS9桌面版;Windows10。 2 安装配置XRDP sudo yum install epel-release sudo yum install xrdp sudo yum install tige…...

【Deepseek】解决Deepseek服务器繁忙的问题

随着Deepseek的爆火越来越多的人使用Deepseek,就导致很多情况下出现服务器繁忙的情况。本博客将讲述如何使用Deepseek不卡顿或者出现服务器繁忙的情况。 一.绕开官方服务器 现在无论是网页版还是app都是在访问【深度求索】的官方服务器,所以才会出现服务器繁忙的…...

【实战篇】室内设计师如何利用 DeepSeek 做设计:从灵感到落地的全方位指南

大家好!今天咱们来聊聊一个超级有趣的话题——室内设计师如何利用 DeepSeek 做设计。如果你是一名室内设计师,或者对室内设计感兴趣,那你一定知道,设计不仅仅是画画图、选选颜色那么简单。它涉及到灵感搜集、空间规划、材料选择、预算控制、客户沟通等一系列复杂的过程。而…...

从 ClickHouse 到 Apache Doris:在网易云音乐日增万亿日志数据场景下的落地

导读:日志数据已成为企业洞察系统状态、监控网络安全及分析业务动态的宝贵资源。网易云音乐引入 Apache Doris 作为日志库新方案,替换了 ClickHouse。解决了 ClickHouse 运维复杂、不支持倒排索引的问题。目前已经稳定运行 3 个季度,规模达到…...

Linux执行一条命令并自动重试直到成功,自动化脚本

编辑filename.sh文件 sudo vim filename.shi 插入模式,编辑文件 # 定义函数来执行并重试每个命令 execute_with_retry() {local cmd"$1"while true; do# 执行命令,并将返回状态存储在STATUS变量中eval $cmdSTATUS$?# 检查命令是否成功&…...

洛谷 acwing刷题 有关图的存储形式和djstra算法的例题

在以往的408学习中,我们 往往采用邻接表和邻接矩阵解决图的存储问题, 但是经过刷题过程发现也有一种新的存储形式值得我们学习,废话不多说,直接上代码 讲解 初始的数组 int e[N], w[N], ne[N], h[H], idx; 算法过程 void add…...

SQL 大厂面试题目(由浅入深)

今天给大家带来一份大厂SQL面试覆盖:基础语法 → 复杂查询 → 性能优化 → 架构设计,大家需深入理解执行原理并熟悉实际业务场景的解决方案。 1. 基础查询与过滤 题目:查询 employees 表中所有薪资(salary)大于 10000…...

用 Python 实现 DeepSeek R1 本地化部署

DeepSeek R1 以其出色的表现脱颖而出,不少朋友想将其本地化部署,网上基于 ollama 的部署方式有很多,但今天我要带你领略一种全新的方法 —— 使用 Python 实现 DeepSeek R1 本地化部署,让你轻松掌握,打造属于自己的 AI…...

ToDesk远程打印详细设置步骤教学

很多小伙伴常有打印、远程打印的需求,特别是对于电商人、跨境电商、教师、产品经理、实验人员等群体来说掌握这项技能可谓是能够在很多场景下带来便捷,大幅提升做事效率!那么是否有方法可以随时随地实现这样需求呐?答案是肯定的&a…...

spring 学习 (注解)

目录 前言 常用的注解 须知 1 Conponent注解 demo(案例) 2 ControllerServiceRepository demo(案例) 3 ScopeLazyPostConstructPreDestroy demo(案例) 4 ValueAutowiredQualifierResource demo(案例) 5 Co…...

【学术投稿-第四届智能电网和绿色能源国际学术会议(ICSGGE 2025)】CSS基本选择器详解:掌握基础,轻松布局网页

可线上 官网:www.icsgge.org 时间:2025年2月28-3月2日 目录 前言 一、基本选择器简介 1. 元素选择器(Type Selector) 基本语法 示例 注意事项 2. 类选择器(Class Selector) 基本语法 示例 注意…...

5种解决方式来应对deepseek暂时无法回答

在工作中,你是否常常遇到deepseek回复“暂时无法回答”的情况?根据某权威机构的调研数据显示,约73%的用户在使用此类工具时遇到过类似问题,这严重影响了工作效率和体验。本文将为你提供5种实测有效的解决方法,帮助你快…...

【C/C++算法】从浅到深学习--- 二分查找(图文兼备 + 源码详解)

绪论:冲击蓝桥杯一起加油!! 每日激励:“不设限和自我肯定的心态:I can do all things。 — Stephen Curry” 绪论​: 本章是算法篇章的第三章二分算法,本章主要是通过题目的形式来进行学习&…...

HTML之JavaScript使用JSON

HTML之JavaScript使用JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON是JavaScript对象的字符串表示法,它使用文本表示一个js对象的信息,可以将json字符串转换…...

elementui:element中el-dialog点击关闭按钮清除里面的内容和验证

问: element中el-dialog点击关闭按钮清除里面的内容和验证 回答: 在el-form中设置:before-close取消的回调函数就可以了...

从零搭建微服务项目(第5章——SpringBoot项目LogBack日志配置+Feign使用)

前言: 本章主要在原有项目上添加了日志配置,对SpringBoot默认的logback的配置进行了自定义修改,并详细阐述了xml文件配置要点(只对日志配置感兴趣的小伙伴可选择直接跳到第三节),并使用Feign代替原有RestT…...

传输层协议TCP (上)

文章目录 前言TCP报文格式TCP连接管理连接建立与中止三次握手三次握手的状态变化为什么是三次握手 四次挥手四次挥手的状态变化FIN_WAIT_2 状态可能导致连接长时间不释放的问题TIME_WAIT状态作用 复位报文段非法连接请求其他异常情况 半打开连接同时握手同时关闭 参考资料 前言…...

Proxmox 更新软件包数据库(TASK ERROR: command ‘apt-get update‘ failed: exit code 100)

1、连接自己报错的物理机Shell,编辑文件 vi /etc/apt/sources.list.d/pve-enterprise.list 2、注释文件的第一行在开头加上# 按I进入编辑模式后 开头添加# 然后shift: 输入wq或者wq!进行保存 3、注释后执行两个命令apt-get update 和 apt…...

java程序员进阶之路需要的学习过程

http://blog.csdn.net/qq_37267015/article/details/77108692...

C#01项目——计算器

实现需求: 可以连续相加,并记录计算表达式。 实现逻辑 1、利用字符串加减原则,获取相加的数值。 2、将数值存入到列表中,需要计算最终结果时,遍历列表中数值,全部相加 数字键 判断计算式长度是否超出上限根据运算…...

windows蓝牙驱动开发-在蓝牙配置文件驱动程序中接受 L2CAP 连接

L2CAP 服务器配置文件驱动程序会响应来自远程设备的传入逻辑链接控制和适应协议 (L2CAP) 连接请求。 例如,PDA 的 L2CAP 服务器配置文件驱动程序将响应来自 PDA 的传入连接请求。 接收传入 L2CAP 连接请求 1. 若要接收来自特定 PSM 的任何远程设备的传入 L2CAP 连…...

如何下载AndroidStudio的依赖的 jar,arr文件到本地

一、通过jitpack.io 下载依赖库 若需要下载 com.github.xxxxx:yy-zzz:0.0.2 的 jar则 https://jitpack.io/com/github/xxxxx/yy-zzz/0.0.2/ 下会列出如下build.logyy-zzz-0.0.2.jaryy-zzz-0.0.2.pomyy-zzz-0.0.2.pom.md5yy-zzz-0.0.2.pom.sha1jar 的下载路径为https://jitpack…...

QT笔记——QRadioButton

文章目录 1、概要2、实际的应用2.1、创建多个QRadioButton,只可同时选中其中一个,点击后实现对应的槽函数 1、概要 实现QRadioButton相关的应用;2、实际的应用 2.1、创建多个QRadioButton,只可同时选中其中一个,点击后实现对应的槽函数 创建…...

Vue 2 + Vite 项目集成 ESLint 和 Prettier

在 Vue 2 Vite 项目中集成 ESLint 和 Prettier 可以帮助你规范代码风格并自动格式化代码。以下是详细的步骤: 1. 安装 ESLint 和 Prettier 相关依赖 在项目根目录下运行以下命令,安装 ESLint、Prettier 和相关插件: npm install --save-de…...