让Python猜一个文件名

时间:2014-11-29 12:44:16

标签: python linux ubuntu

我有以下功能:

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 ...它将在第三方文件夹中。

1 个答案:

答案 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))