Tak v Pythonu 3 by to mohlo vypadat následovně:
#!/usr/bin/python3
import os, shutil, urllib.parse
path_f = os.path.expanduser('~/.local/share/Trash/files/')
path_i = os.path.expanduser('~/.local/share/Trash/info/')
lst = []
files = os.listdir(path_f)
for file in files:
if os.path.isdir(path_f + file): continue
with open(path_i + file + '.trashinfo', 'r') as f:
lines = f.readlines()
dest = urllib.parse.unquote(lines[1].replace('Path=', ''))[:-1]
lst.append([file, dest])
print('\n', file,'\n-> ', dest)
i = input('\nZkopírovat tyto soubory? (a/n) ')
if i.lower() == 'a':
for i in lst:
try:
os.makedirs(os.path.dirname(i[1]))
except OSError: pass
shutil.copy2(path_f + i[0], i[1])
print('\nSoubory byly zkopírovány.\n')
else:
print('\nObnova souborů zrušena\n')Kopíruje to jen soubory, adresáře vynechává, nejprve je všechny vypíše spolu s cílovými cestami a po kladné odpovědi teprve zkopíruje, v koši tedy původní soubory zůstanou.
Spouští se pomocí
python3 soubor_do_kterého_jsi_to_uložilpokud nejsi ve stejném adresáři tak samozřejmě s relativní, nebo absolutní cestou.
Ještě jsem zapoměl, že Python 3 bude možná třeba doinstalovat..
sudo apt-get install python3by snad mělo stačit

Ještě jedna poznámka:
V žádném případě kód necpat do souboru s názvem 'copy.py', došlo by při běhu k záměně modulu v modulu shutil. Nechtěnému importu sebe sama se dá nejjednodušeji zabránit nepoužitím koncovky '.py' v názvu souboru.