[杰哥的分享] 狐表执行python代码的方法。例如你可以叫ai写好python获取数据并写入数据库的代码,狐表做数据展示,各施所长

发表日期: 2025-06-07

1.python本来就可以通过cmd运行

这种是最简单,不依赖于什么奇怪第三方库,这就是原生python会支持的一种方式。

所以直接用狐表调用cmd去执行python代码就行了。


Dim pythonPath As String = "D:\Python\Env\kd311\Scripts\python.exe" ' 设置python执行器路径
Dim scriptPath As String = "D:\Python\kd_project\main.py" '设置python的业务代码路径

'启动一个cmd进程去执行它
Dim Proc As New Process
Proc.File = pythonPath
Proc.Arguments = scriptPath
Proc.Start

例如下图,是我用python写了一个对接金蝶云api的接口。

因为金蝶云现在已经全面使用SDK获取数据,而SDK只支持python、net core、java,

所以只能先用python写好一个获取数据并写入数据库的代码,测试通过后,以后就让狐表去触发。数据到了数据库后,就是狐表擅长的数据管理了

image.png

2.python的特点是生态库强大

有很多便捷的处理功能,还有强大的ai可以写代码,很小功能,小需求,都可以叫ai用python写好,粘贴就用,最后数据存入mssql数据库,狐表就能介入使用了

例如我简单推荐下:

  1. http请求各种api数据的库:requests

  2. mssql数据库连接驱动:pyodbc,配合微软的odbc17驱动

  3. 数据库工具(类似于狐表的DataTable):Sqlalchemy

  4. 100万行级别数据导入数据库工具:pandas

  5. 专业的爬虫库:Scrapy

  6. 对接Chrome浏览器并获取网页元素内容:Selenium

  7. excel报表打印(类似于狐表专业报表的):xlsxwriter

至于具体使用,我觉得都没必要从0学,我现在都是需要什么,直接问ai,让ai写,你知道名词就足够了
哪里不懂叫它解释,什么新工具都是直接上手,学以致用才是领悟最深的。

很多CSDN小知识文章都不需要去看了(还尼玛多广告),还不如ai总结全面。

image.png

import requests
from sqlalchemy import create_engine, Column, String, DateTime
from sqlalchemy.orm import sessionmaker, declarative_base
from datetime import datetime
from urllib.parse import quote_plus

# 1. 配置数据库连接(MSSQL)
DB_USER = "your_user"
DB_PASSWORD = quote_plus("your_password")
DB_HOST = "your_host"
DB_PORT = "your_port"  # 默认是 1433
DB_NAME = "your_db"
DRIVER = "ODBC+Driver+17+for+SQL+Server"

MSSQL_URL = f"mssql+pyodbc://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}?driver={DRIVER}"

engine = create_engine(MSSQL_URL, echo=False, future=True)
SessionLocal = sessionmaker(bind=engine)
Base = declarative_base()

# 2. 定义ORM模型
class IPInfo(Base):
    __tablename__ = "ip_info"

    ip = Column(String(50), primary_key=True)
    region = Column(String(100))
    city = Column(String(100))
    isp = Column(String(100))
    time = Column(DateTime, default=datetime.utcnow)

# 3. 初始化表结构(仅第一次使用时创建)
Base.metadata.create_all(engine)

# 4. 请求阿里云API(以获取IP信息为例)
def fetch_ip_info():
    url = "https://dm-81.data.aliyun.com/rest/160601/ip/getIpInfo.json"
    headers = {
        "Authorization": "APPCODE your_app_code"  # 替换为你的阿里云AppCode
    }
    params = {
        "ip": "8.8.8.8"
    }
    response = requests.get(url, headers=headers, params=params)
    data = response.json()
    return data

# 5. 写入数据库
def save_to_db(ip_data):
    db= SessionLocal()
    try:
        new_row = IPInfo(
            ip=ip_data.get("ip", ""),
            region=ip_data.get("region", ""),
            city=ip_data.get("city", ""),
            isp=ip_data.get("isp", ""),
            time=datetime.utcnow()
        )
        db.add(new_row)  
        db.commit()
    except Exception as e:
        db.rollback()
        print("数据库写入失败:", e)
    finally:
        db.close()

# 6. 主程序入口
if __name__ == "__main__":
    result = fetch_ip_info()
    if result.get("code", 0) == 0:
        save_to_db(result)
        print("写入成功:", result)
    else:
        print("API请求失败:", result)

image.png


3.那如果想发布后的程序,在客户电脑也能执行这些python呢?但是又不想给客户远程安装python和依赖

你稍微熟悉python就会知道,python跟java一样,是一个跨平台语言,它只需要有对应文件就能运行。

你把python文件和依赖文件,一起打包进去狐表文件夹,一同给客户,你测试过能在客户电脑直接cmd执行到python,

那就把cmd里的命令,转写到狐表里触发即可。

语言是死的,人是活的,灵活变通,解决问题。


随便看看
商务联系QQ : 2385350359

Copyright 2016-2024 江门蓬江区华越科技公司 版权所有 | 承接软件定制开发,欢迎联系
粤ICP备19148806号-5