我正在编写这个 python 脚本以递归地遍历一个目录并使用 ubuntu 上的 unrar 实用程序打开所有 .rar 文件。由于某种原因,它会进入目录,列出一些内容,进入第一个子目录,打开一个 .rar 文件,然后打印父目录的所有其他内容而不进入它们。关于为什么会这样做的任何想法?我对python很陌生,所以放轻松。
"""Recursively unrars a directory"""
import subprocess
import os
def runrar(directory):
os.chdir(directory)
dlist = subprocess.check_output(["ls"])
for line in dlist.splitlines():
print(line)
if isRar(line):
print("unrar e " + directory + '/' + line)
arg = directory + '/' + line
subprocess.call(['unrar', 'e', arg])
if os.path.isdir(line):
print 'here'
runrar(directory + '/' + line)
def isRar(line):
var = line[-4:]
if os.path.isdir(line):
return False
if(var == ".rar"):
return True
return False
directory = raw_input("Please enter the full directory: ")
print(directory)
runrar(directory)