我有这个连接类路径变量的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
答案 0 :(得分:0)
只需从生成器comp中创建一组对象:
classpath = set(os.path.join(root, f) for f in files if f.endswith('.jar') or f.endswith('.properties'))