У меня есть список файлов в каталоге на моем Android устройстве, который я хочу перечислить, однако мне нужны только файлы без точки (то есть - никаких скрытых файлов и файлов с явными расширениями).
Я могу сделать это на мобильном устройстве с помощью find
:
find /mydir -type f -not -name *.*
И я могу сделать то же самое с adb
с моего хоста (здесь мне нужно \"
для защитить мое регулярное выражение)
adb shell find /mydir -type f -not -name \"*.*\"
Однако у меня нет способа заставить его работать в сценарии Python, запущенном с моего хоста. Я сделал следующее:
list_command = [
'adb',
'shell',
'find',
'/mydir'
'-type',
'f',
'-not',
'-name',
r'\'*\.*\''
]
subprocess.check_output(list_command)
.decode()
.splitlines()
Он фактически дал мне все файлы, независимо от того, присутствует ли точка в пути. Как правильно запустить эту команду adb
в Python?