问题很简单,尽管我找不到问题的答案。我正在尝试从一个文件夹创建7z文件,该文件的路径由定义的参数确定。问题是,在创建该文件之前,我需要重命名文件夹。幸运的是,该“文件夹”始终具有相同的名称,而最终名称将始终相同。但是问题出在通往那条路的路上。该文件夹始终位于一个名称可以变化的文件夹内(这种情况通常不会发生变化,但从长远来看是不可行的)。 透视一下,这是路线:
carpetamareinicialresultant\\random-folder-that-can-vary\\folder-to-rename
此刻的定义代码如下:
def sevenzipoficial(tipus, cataleg, cançó, edició):
if not os.path.exists(carpetamareinicial + '\\' + tipus + '\\' + cançó + '\\' + edició + ' - ' + cataleg):
input('La carpeta inicial escollida no existeix. Pitja Enter per tornar al menú principal...')
return -1
menuprincipal = True
carpetamareinicialresultant = os.path.join(carpetamareinicial, tipus, cançó, edició + ' - ' + cataleg + '\\', 'Discs' + '\\') # Carpeta on està la música escollida
carpetamarefinalresultant = os.path.join(carpetamarefinal, tipus, cançó, edició + ' - ' + cataleg + '\\') # Carpeta on es guardarà la música comprimida
if not os.path.isfile(cataleg + '.7z'):
print(subprocess.call(['7z', 'a', cataleg, '-p{racer21}', carpetamareinicialresultant]))
if not os.path.exists(carpetamarefinalresultant):
os.makedirs(carpetamarefinalresultant)
if os.path.isfile(carpetamarefinalresultant + '\\' + cataleg + '.7z'):
os.remove(carpetamarefinalresultant + '\\' + cataleg + '.7z')
shutil.move(cataleg + '.7z', carpetamarefinalresultant)
PD:另外,使该过程在完成后恢复是一种奖励,但是我想我会是相同的过程,只是要更改一些变量。