python
Martin1025432
集自动化与python之大成
展开
-
python调用SDK的问题
调用海康SDK的问题原创 2024-06-17 16:10:57 · 295 阅读 · 0 评论 -
Qt desinger如何使用qrc资源文件
qrc文件,在单ui文件的使用原创 2022-11-17 16:07:06 · 796 阅读 · 0 评论 -
Crypto模块的安装坑
Crypto目前来看也不支持较新的python版本原创 2022-10-20 10:12:20 · 374 阅读 · 0 评论 -
Anaconda,spyder安装PyQtChart
如何解决安装完PyQtChart,spyder用不了的问题?spyder用不了的原因, 是spyder不能支持高版本的pyqt5.而安装PyQtChart时,pyqt5会自动升级到最高版本,所以才会矛盾的。解决以上问题,方法如下在anaconda 命令行里执行以下命令pip install PyQtChart==5.12.0 pip uninstall pyqt5 pip install pyqtwebengine==5.12.1 pip install pyqt5==5.12.3.原创 2022-03-24 15:18:36 · 1142 阅读 · 0 评论 -
用python 访问 ESP8266 V1.2(python 传参数)
python 传递value1和value2的参数# -*- coding: utf-8 -*-"""Created on Wed Nov 10 08:51:52 2021@author: Martin"""# -*- coding:utf-8 -*-import requestsimport urllib.parse# # 以下为GET请求while True: # GET请求 url = 'http://192.168.0.200' re...原创 2021-11-17 16:22:13 · 3738 阅读 · 0 评论 -
用python 访问 ESP8266 V1.1
首先这是第一次使用ESP8266,这是物联网的一模块,有独立的CPU,和存储系统。B站关于ESP8266有很详细的教程视觉,这里就不过多的叙述。1.安装ESP8266驱动,CH340是串口转USB的芯片,WIN10自动就已经好了2.ESP8266使用Arduino IDE的开发环境,这个在官网下载就好了。3.Arduino IDE的环境配置:a.文件(菜单栏)->首选项->附加开发板管理地址:http://arduino.esp8266.com/stable/package_es原创 2021-11-11 08:51:08 · 1376 阅读 · 0 评论 -
python 调用C语言DLL项目实践
官方文档 : ctypes --- Python 的外部函数库 — Python 3.7.8 文档 https://docs.python.org/zh-cn/3.7/library/ctypes.html主要使用的模块是ctypes,加载DLL 要使用对应版本的python以下是本次实践过程1、导入库from ctypes import *2、加载DLL,必须是全路径IOdll = CDLL("D:\Andy\dirDll\lhio.dll")3、根据头文件...原创 2020-08-22 16:57:48 · 455 阅读 · 0 评论 -
如何同时安装32位和64位的spyder
应用背景:限于有些DLL调用只有32位,所以需要电脑环境要同时使用32位和64位SPYDER安装步骤:1.安装64位的anaconda(安装完成后,已经可以使用64位的spyder)2.启动3.切换到32位的环境,输入命令set CONDA_FORCE_32BIT=1 # 切换到32位4.创建32位环境conda create -n python32 python=3.7# 在虚拟环境env_name中安装python5.激活环境activate python326.原创 2020-07-29 11:15:56 · 1648 阅读 · 1 评论 -
python打开外部程序
import win32processfrom win32process import CreateProcessa=CreateProcess('C:\\Users\\Martin\\Python\\Python37-32\\pthon.exe', '', None, None, 0, win32process.CREATE_NO_WINDOW, None, None, win32process.STARTUPINFO())print(a)...原创 2020-07-28 22:38:52 · 198 阅读 · 0 评论 -
python 参数化实现实现可变字符串
camData = [12,12,54]outData = "X:{};Y:{};A:{}".format(str(camData[0]),str(camData[1]),str(camData[2]))print(outData )输出结果:"X:12;Y:12:A:54原创 2020-07-05 16:04:06 · 576 阅读 · 0 评论 -
c#typeof 在pythonnet里面如何转
C#里的代码:(MyCamera.MV_CC_DEVICE_INFO)Marshal.PtrToStructure(m_pDeviceList.pDeviceInfo[i], typeof(MyCamera.MV_CC_DEVICE_INFO));python:System.Runtime.InteropServices.Marshal.PtrToStructure(self.stDeviceList.pDeviceInfo[i],MyCamera.MV_CC_DEVICE_INFO...原创 2020-06-12 17:15:53 · 211 阅读 · 0 评论 -
三菱机器人MelfaRxM.OCX控件的python用法
1. 安装控件 \MelfaRXM\MelfaRXM_Dev\Redist\Installer2. 在WINDOWS/System32里找到MelfaRxM.ocx3.把OCX控件转成C#的DLLa.打vs的开发人员命令行b.把刚刚的OCX放到命令行显示的目录c.在命令输入 : aximp MelfaRxM.ocx生成的DLL就是pythonnet可用调用...原创 2020-05-07 07:58:30 · 729 阅读 · 0 评论 -
使用pythonnet找不DLL库解决方案
第一种情况,用调试平台(spyder)运行程序时,clr.AddReference('dll')时找不到原因1:python版本与dll版对不上(32位,与64位的问题)原因2: dll的搜索路径不对,使用:sys.path.append(r"./ReferencedAssemblies")增加路径第二种情况,在控制台,使用 python main.py运行程序,或者bat批处理...原创 2020-04-30 12:07:39 · 1348 阅读 · 2 评论 -
python OPENCV不能使用解决办法
1.下载正确的python版本的OPENCV2. 如果import cv2没问题,报的是numpy库的错,更新numpy库(在控制台:pip install --upgrade numpy)以上是使用平台(anaconda,python3.7,opencv4.12)...原创 2020-04-18 10:18:57 · 2433 阅读 · 0 评论 -
python的类继承
定义一个父类,然后定义一个子类,子类继承了父类的所有属性如下:class Person(object): name = "new" age = 0 #name2 = ""class Student(Person): title = 2newstudent = Student()print(newstudent.name)print(n...原创 2020-03-04 15:15:07 · 558 阅读 · 0 评论 -
pythonnet创建系统数组
方法:import clr #导入C#pythonnet的库import Systemc=System.Array.CreateInstance(数据类型,长度)例如:System.Array.CreateInstance(str,10)System.Array.CreateInstance(System.Object,10)...原创 2019-10-29 15:33:09 · 274 阅读 · 0 评论 -
pythonnet调用C#的枚举类型
C#的枚举变量public enum PlcMemory { CIO = 1, WR = 2, DR = 3, ER = 4, TIM = 5, CNT = 6, HR = 7 }...原创 2019-10-29 14:02:49 · 485 阅读 · 5 评论 -
spyder打不开的解决办法
背景:装好了Anaconda,QT5,pip install pyqt5现象:打开spyder,没有反应,进入Anacond里开spyder提示QT的库不存在。解决办法,卸载Anaconda,重新安装。一定不要pip install pyqt5.因为Anaconda已经有PYQT5了。打开spyder ,一切正常...原创 2018-07-30 20:03:01 · 15646 阅读 · 2 评论 -
python程序如何发布
目的:在没有python的主机上运行python程序.实践条件:1.anaconda32位,所以所有的程序库都是32位.2.QT5作的界面程序,3.发布工具PyInstaller步骤:1.安装好发布工具PyInstaller2.运行anaconda Prompt,进入spyder的项目文件夹.3.运行指令pyinstaller gui_IMV.py -p IMV...原创 2018-08-22 23:57:30 · 2325 阅读 · 0 评论 -
python 调用C#的库
初衷:python 具有更多的方便性,由于工业应用,很多库,只能用C#做法:是通过clr库,直接调用应用背景:32位anacondapythonnet库代码参考:#导入核心库import clr#查找DLL文件,包括引用的库clr.FindAssembly('IMVdll.dll')clr.FindAssembly('iMVS-6000PlatformS...原创 2018-08-23 00:29:34 · 3710 阅读 · 1 评论 -
PYTHON 3d数组显示mayavi安装实践
应用平台32位电脑已装软件:anaconda3 4.4.0, vs2015, python3.6(anaconda自带)库资源:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mayaviSTEP1:从库资源下载PyQt4-4.11.4-cp36-cp36m-win32.whltraits-4.6.0-cp36-cp36m-win...原创 2018-11-17 04:50:37 · 275 阅读 · 0 评论 -
pythnet 非托管代码调用细节处理
背景:有一DLL,C#的例程里没有用引用和using,而是直接用 [DllImport("FY4400.dll")] public static extern IntPtr FY4400_OpenDevice(Int32 Devnum); [DllImport("FY4400.DLL")] public static extern...原创 2018-11-27 17:38:45 · 144 阅读 · 0 评论 -
用线程锁,解决python多线程的资源冲突
要解决的问题:程序中可能存在多个线程要同时访问一个资源,这在某些资源中是不允许的,需要保证同一时间段只有一个线程访问资源。解决的方案是:用线程锁(threading.Lock() ),在线程访问共享资源时,把需要解决冲突资源加锁保护。具体实施:import threadingself.lock=threading.Lock() def main1(s...原创 2019-09-24 09:25:11 · 1108 阅读 · 0 评论 -
python sqlite3多线程访问的解决方案
要解决的问题:sqlite3只支持的单线程访问,多个地方同时访问数据库造成datalock的报错。数据库在界面线程解决方案:1、对sqlite3采用访问,用完即关闭,解决创建线程和打开线程不一致。2、对sqlite3的访问函数使用线程锁,以防止数据库datalock的错误具体案例:import threadingself.lock=threading.Loc...原创 2019-09-24 11:28:53 · 3565 阅读 · 0 评论 -
pyQt 样式表在ui文件的设置
应用背景:以python为程序运行基础,直接调用QT的ui文件形成界面。要实现的功能:同样的功能在python里面用程序是可以实现的,但在设计时不能直接观察。如何用QT设计界面的样式表,就可以很方便实现这个功能了。详细操作:1、右键要修改的控件-->改变样式表2、编辑样式表3、在空框填入详细属性和参数(每个控件拥有的属性是不一样的)属性1:参数...原创 2019-09-26 08:29:24 · 427 阅读 · 0 评论 -
python threading.Event给线程加个水闸
用外行的视角,重新理解程序编写。threading.Event(水闸)就是一个线程水闸,如果一根水管(线程)没有水闸,一旦这管开启以后,就没法控制里面水的位置了。为控制水在水管的位置。这时只要在需要管控的地方加个水闸就OK了。外部只要开闸,就会通过。否则就会阻塞。现在我们来看看具体的应用。定义一个水闸:flag_event = threading.Event() 创建一根水管,把水闸加载进去:t1...原创 2018-05-23 14:21:41 · 1400 阅读 · 0 评论