小编dcu*_*dcu的帖子

使用 importlib.import_module 时出现 ModuleNotFoundError

我有以下文件夹结构,并且在 util.py 中有一个测试方法。运行 util 方法时,我看到一个模块出错,该模块导入到我试图获取所有类的模块中。

Parent
--report <dir>
----__init__.py
----AReport.py
----names_list.py
--util.py
Run Code Online (Sandbox Code Playgroud)

实用程序

import inspect
import importlib
import importlib.util

def get_class_names(fileName):
    for name, cls in inspect.getmembers(importlib.import_module(fileName, package='report'), inspect.isclass):
        print(name, cls)

if __name__ == '__main__':
    get_class_names('report.names_list')

Run Code Online (Sandbox Code Playgroud)

名称列表.py

from AReport import AReport

class Team:
    name = ""
    def __init__(self, name):
        self.name = name

class Names_List(AReport):
    def __init__(self, name=None):
        AReport.__init__(self, name)

    def test(self):
        print('In test')        
Run Code Online (Sandbox Code Playgroud)

报表文件

from abc import ABCMeta, abstractmethod

class AReport(metaclass=ABCMeta):
    def __init__(self, name=None):
        if name:
            self.name = name

    def test(self): …
Run Code Online (Sandbox Code Playgroud)

python python-import python-3.x

5
推荐指数
1
解决办法
6657
查看次数

如何使用 ProcessBuilder 从 Python 脚本返回值到 Java?

我正在尝试使用 ProcessBuilder 从 python 脚本获取返回值到 Java 中。我期待 Java 中的值“这就是我正在寻找的”。谁能指出我下面的逻辑有什么问题?

我正在使用 python3 并希望使用 java 标准库完成此操作。

测试代码

import sys

def main33():
    return "This is what I am looking for"


if __name__ == '__main__':
    globals()[sys.argv[1]]()
Run Code Online (Sandbox Code Playgroud)

Java代码

String filePath = "D:\\test\\test.py";

ProcessBuilder pb = new ProcessBuilder().inheritIO().command("python", "-u", filePath, "main33");

Process p = pb.start();
int exitCode = p.waitFor();

BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";

line = in.readLine();
while ((line = in.readLine()) != null){
    line = line + line;
}

System.out.println("Process exit …
Run Code Online (Sandbox Code Playgroud)

python java

2
推荐指数
1
解决办法
2983
查看次数

标签 统计

python ×2

java ×1

python-3.x ×1

python-import ×1