gpt4 book ai didi

python - 我正在尝试使用 Python 在 jar 文件中搜索 '.class' 文件

转载 作者:太空宇宙 更新时间:2023-11-04 10:25:30 28 4
gpt4 key购买 nike

#! /usr/bin/python -tt
import os
def searchFile(path1,ext1,fileName1):
pathList = []
for root, dirs, files in os.walk(path1):
for file in files:
if file.endswith(ext1):
pathList.append(os.path.join(root,file))
print "-----The file is present under the below path------\n"
for ele in pathList:
if fileName1 in ele:
print ele
def main():
path = raw_input("Please enter the path you wish to spider. Also make sure that the files/subfolders have the correct permissions.\n")
ext = raw_input("Enter the extension you wish to search/ find. Eg: For class files enter .class / For text file enter .txt \n")
fileName = raw_input("Enter the filename without extension. Eg For example.class, input only 'example'\n")
searchFile(path,ext,fileName)
if __name__ == '__main__':
main()

对于普通文件/子文件夹,它可以正确获取路径/文件名,但是当通过“jars”进行搜索时,python 脚本不会返回任何内容。我怎样才能让上面的脚本扫描整个 jar ?

最佳答案

Jar 类似于 Zip 文件。要扫描 jar 文件,您可以使用 Python 模块 zipfile 获取其内容列表,或者您甚至可以阅读内容。您可以使用 Zipfile.namelist() 方法获取 jar 中的内容列表,然后使用此列表检查您要搜索的文件是否存在。

这是一个示例代码,它获取 jar 中存在的文件列表。

import zipfile
archive = zipfile.ZipFile('<path to jar file>/test.jar', 'r')
list = archive.namelist()

如果你将在逗号行或终端中运行它,你将得到如下输出:

['file1.class', 'file2.class' ]

其中 file1 和 file2 是我的 jar 文件中的两个 .class 文件。

关于python - 我正在尝试使用 Python 在 jar 文件中搜索 '.class' 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29517703/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com