_alexs_Что за глупость. Решение всегда есть и не требуется тут python3
Похоже решения таки нет
Попробуйте немного шире посмотреть на проблему. Откуда вы берете строки которые скармливаете subprocess.Popen
Пример: у меня директория под виндой
Даша.bat
паша.bat
a.py
Файл целиком:
import subprocess as sp import glob for i in glob.glob("*.bat"): sp.check_call(i)
Все прекрасно выполняется. Заметьте encoding файла питона не указан. Кодировка операционной системы не интересует. Это python2.7 а не трешка. Это windows.
Если надо трансформировать имена файлов под 2.x
1 отдавайте шаблоны в unicode и назад получите unicode.
glob.glob(u“*.bat”)
2. Если потребуются литералы заданные в коде укажите кодировку файла И задавайте литералы как unicode. u“даша.bat”