我有以下功能:
unpack_binaryfunction('third-party/jdk-6u29-linux-i586.bin' , ('/home/user/%s/third-party' % installdir), 'jdk1.6.0_29')
使用os.sys执行java部署。该行与该函数(它不重要,它只是调用一些linux语句)结合起来非常有效。
但是,这只适用于第三方'文件夹是特定的jdk版本。 因此,我需要一个代码来查看“第三方”中的文件。找到一个以' jdk'开头的文件夹并填写文件名本身的其余部分。
我绝对卡住了。是否有任何函数或库可以帮助进行文件搜索等?
澄清:我需要代码不包括整个:jdk-6u29-linux-i586.bin但是要使用jdk-xxxx ...它将在第三方文件夹中。
答案 0 :(得分:1)
这可以使用glob模块轻松完成,然后进行一些字符串解析以提取版本。
import glob
import os.path
for path in glob.glob('third-party/jdk-*'):
parent, name = os.path.split(path) # "third-party", "jdk-6u29-linux-i586.bin"
version, update = name.split('-')[1].split('u') # ("6", "29")
unpack_binaryfunction(path, ('/home/user/%s/third-party' % installdir), 'jdk1.{}.0_{}'.format(version, update))