Я пытаюсь вернуть два значения из функции, но получаю эту ошибку:
File "c:/Users/petro/Desktop/deleteunusedmediafiles.py", line 64, in <module>
sourceFilesFolderName, activeSourceFiles = getActiveSourceFilesAndFolder(folder, files)
TypeError: cannot unpack non-iterable NoneType object
Вот код. Эта строка третья снизу:
import os, re
from pprint import pprint
os.chdir(r"C:\Users\petro\Desktop\deletefiles")
rootFolder = os.getcwd()
folderNames = "(audio\s+files|media\s+files|media|audio|content|source|sources)"
readableFormatsReaper = '''(wav|mp3|mp4|mov|acid|aiff|avi|bwf|cdda|edl|flac|kar|midi|
mogg|mpeg|ogg|vorbis|ogg|opus|qt|radar|rex2|syx|w64|wavpack|wmv)'''
sourceFilesRegex = re.compile(r'''
<SOURCE\s+WAVE\s+FILE\s+
"
'''+folderNames+'''
\\\?
(.+\.'''+readableFormatsReaper+''')
"
\s+>
''', re.IGNORECASE | re.VERBOSE)
def getActiveSourceFilesAndFolder(folder, files):
if files.endswith(".rpp") == True:
sourceFiles = []
projectFile = open(folder + "\\" + files)
projectFileContent = projectFile.read()
sourceFileMatches = sourceFilesRegex.findall(projectFileContent)
for files in sourceFileMatches:
sourceFiles.append(files[1])
pprint(sourceFiles)
pprint("------------------------------")
pprint(sourceFileMatches)
return files[0], sourceFiles
def getAllSourceFilesFromFolder(folder, subfolder, sourceFilesFolderName):
if subfolder == sourceFilesFolderName:
folderMediaFiles = []
for files in os.listdir(folder + "\\" + subfolder):
if files.endswith(".wav") == True:
folderMediaFiles.append(files)
pprint(folderMediaFiles)
pprint("------------------------------")
for folder, subfolders, files in os.walk(rootFolder):
for files in os.listdir(folder):
sourceFilesFolderName, activeSourceFiles = getActiveSourceFilesAndFolder(folder, files)
for subfolder in subfolders:
getAllSourceFilesFromFolder(folder, subfolder, sourceFilesFolderName)
Я не понимаю, почему происходит эта ошибка. Когда я возвращаю одну из этих переменных самостоятельно, код работает нормально, однако он не работает с двумя или более.