我正在尝试解压班级的 init 部分中的xz / bx2 / gz文件。我正在使用以下代码:
class myClass(object):
def __init__(self, *args):
for i in args:
try:
f = tarfile.open(i)
print("Extracting ", i)
f.extractall()
f.close()
except tarfile.ReadError:
print("File not a tarball, or any of .xz/.bz2/.gz archives.")
exit()
if __name__ == "__main__":
<???>
这里唯一的问题是,我不确定在“ main ”之后要调用什么,以便初始化并运行 init 方法。我刚刚开始,我有点不清楚。
如果我要编写一个名为unpack()的函数来进行解组而不是将其置于 init 之下,我知道我可以做类似的事情:
if __name__ == "__main__":
start = myClass()
start.unpack()
由于我想在 init 本身进行解包,在这种情况下我该怎么做?
编辑:
很抱歉,如果我不清楚,我正在尝试从命令行运行此脚本:
# python script.py file1.tar.bz2 file2.tar.bz2 file3.tar.bz2
所以* args应该用文件名填充,因此提取它的代码应该运行,至少从我所知道的。
谢谢,
答案 0 :(得分:1)
你只需要调用myClass():
if __name__ == "__main__":
start = myClass(sys.argv)