Python 在u_init中执行代码__
我正在尝试解构类的init部分中的xz/bx2/gz文件。我正在使用以下代码:Python 在u_init中执行代码__,python,class,init,Python,Class,Init,我正在尝试解构类的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() exc
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__":
<???>
既然我想在init本身中进行解包,那么在这种情况下我该怎么做呢
编辑:
抱歉,如果我不清楚,我将尝试从命令行运行此脚本,如下所示:
# python script.py file1.tar.bz2 file2.tar.bz2 file3.tar.bz2
所以*args应该用文件名填充,因此提取它的代码应该运行,至少根据我所知道的
谢谢,您只需调用myClass():
您没有将任何参数传递给
\uuuu init\uuu
或myClass()
调用,因此循环永远不会执行。。。你期望空列表上的循环做什么?好的,关于编辑-阅读和。你似乎对自己正在做的事情有一个模糊的概念,但同时又没有掌握一些非常基本的概念……完全没有必要将其作为一个类。我认为这是OP想要的答案,但我认为应该说,用\uuuuu init\uuuu
方法完成工作可能是个坏主意。要么把它移到一个方法,要么直接生成一个函数(Python中的每个问题都不需要类)。这只是学习的一部分。。我让它在不上课的情况下工作。。
# python script.py file1.tar.bz2 file2.tar.bz2 file3.tar.bz2
if __name__ == "__main__":
start = myClass(sys.argv)