0

我有这个连接类路径变量的python脚本。它连接所有以“.properties”扩展名和“.jar”扩展名结尾的文件的目录。

但是,一些“.jar”文件以及“.properties”文件在不同的目录中重复出现。所以我决定只搜索 2 个文件夹。那些被命名lib的和那些被命名的properties。我正在使用 Python 2.4

#! /usr/bin/env python

import os
import sys
import glob

java_command = "/myapps/java/home/bin/java -classpath "

def any(s):
    for v in s:
        if v:
            return True
    return False


def run(project_dir, main_class, specific_args):
    classpath = []

    for root, dirs, files in os.walk(project_dir):
        classpath.extend(os.path.join(root, f) for f in files if f.endswith('.jar'))
        if any(f.endswith('.properties') for f in files):
            classpath.append(root)

    classpath_augment = ':'.join(classpath)

    args_passed_in = '%s %s %s %s' % (java_command, classpath_augment, main_class, specific_args)
    print args_passed_in
    code = os.system(args_passed_in)
    print code
4

1 回答 1

0

只需从您的生成器组合中制作一组对象:

classpath = set(os.path.join(root, f) for f in files if f.endswith('.jar') or f.endswith('.properties'))
于 2013-09-24T15:48:19.997 回答