python 操作其他编程语言

操作net

import clr
import os


import os

# 获取当前路径
current_path = os.path.dirname(os.path.abspath(__file__))
dll_path = os.path.join(current_path,"demo1", "bin","Release","net7.0","demo1.dll")

clr.AddReference(dll_path)

# 导入命名空间
import demo1

# 获取 demo1 类的所有方法
methods = dir(demo1.Demo)

# 打印方法列表
print(methods)

操作js

import execjs
import json
import os

# 获取当前路径
current_path = os.path.dirname(os.path.abspath(__file__))

# 加载 JavaScript 文件
with open(os.path.join(current_path, "demo.js"), "r") as f:
    js_code = f.read()

# 定义一个 Python 对象
data = {
    "x": 2,
    "y": 3,
    "operations": ["add", "multiply"]
}

# 编译 JavaScript 代码
ctx = execjs.compile(js_code)

# 在 JavaScript 中解析 Python 对象
data_str = json.dumps(data)
data_js = ctx.eval("JSON.parse('{}')".format(data_str))

print(data_js)

# 在 JavaScript 中执行操作
result = {}
for op in data_js["operations"]:
    func = "example.{}".format(op)
    args = [data_js["x"], data_js["y"]]
    result[op] = ctx.call(func, *args)

# 在 Python 中处理结果
print(result)  # 输出 {"add": 5, "multiply": 6}

操作java

import jpype
import os

current_path = os.path.dirname(os.path.abspath(__file__))
# 启动 JVM
jpype.startJVM(jpype.getDefaultJVMPath())

jpype.addClassPath(os.path.join(current_path, "Demo.jar"))

# 加载 Java 类
Demo = jpype.JClass("Demo")

# 创建 Java 对象
demo = Demo()

# 调用 Java 方法
result = demo.add(1, 2)
print(result)

# 关闭 JVM
jpype.shutdownJVM()

# javac demo.java   将 Java 源代码编译成字节码文件,这些 .class 文件可以在任何支持 Java 的平台上运行
# jar cvf Demo.jar Demo.class  将 Demo.class 文件打包成 Demo.jar 文件

作者:spike

分类: Python

创作时间:2024-09-27

更新时间:2024-12-09