Если вы настаиваете на использовании подпроцесса, попробуйте:
[x.split(' ')[-1] for x in stdout.decode().split('\n')[1:-1]]
Очевидно, это довольно "хакерский" способ сделать это.Вместо этого я могу предложить стандартную библиотеку glob
import glob
glob.glob(source + '/*')
, которая возвращает список всех имен файлов / каталогов в источнике.
Редактировать:
cmd = ["ls", source]
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE)
stdout, stderr = proc.communicate()
exitcode = proc.returncode
stdout.decode("utf-8").split('\n')[:-1]
Должен также сделать это.-l
опция здесь не обязательна.