Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755

Как программировать на Python на планшете с Android в дорожных условиях?

10.07.2022, 11:47. Показов 7079. Ответов 57
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нюанс обсуждался в теме Python-3.2.1.apk Ilabbs для Android 4.2

На моем планшете с диагональю 10 (гигабайт оперативной памяти, сервисы Гугла отключены) и Андроид 4.2 установлены программы с интерпретатором или для кодинга, или обучения, если правильно помню:
Chaquopy demo - в нем интерпретатор
DroidEdit Free (редактор кода, навигатор по файлам вытягивается пальцем с левого края экрана).
Our Code Editor (редактор кода)
Programming Hub (обучающий демо курс, требует интернета)
Python (программа от ilabbs). Для запуска кода в IDE требуется интернет.
Python 4 Fun (не запускается)
Python Ide (не запускается, пишет: "В приложении произошла ошибка")
Python Interpreter (требует интернета, у меня на планшете его, как правило, нет)
QuickEdit (редактор кода)

Таким образом, если писать код в редакторе кода, то что вписывать в строку интерпретатора в Chaquopy demo, чтобы запускать этот код, то есть как отображать путь до файла и в какой папке лучше сохранять для этого? Если знаете какой-то важный нюанс про какой - то из этих редакторов, прошу написать.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.07.2022, 11:47
Ответы с готовыми решениями:

Как программировать для windows phone на планшете с системой Android?
Подскажите метод, в пору отпусков думаю это очень актуально не только для меня

Разница в просмотре фильмов на планшете Windows и планшете Android
Задали мне тут вопрос, на который я оказался не готов ответить. решил спросить у умных людей. есть домашняя сеть WiFi. есть BBK...

Как программировать на Android?
Доброго времени суток! Интересуюсь вопросами, что такое андроид студио и т.д. Как выложить программу в гугл плей? Можно ли создавать...

57
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
15.07.2022, 14:22  [ТС]
Студворк — интернет-сервис помощи студентам
Как выяснил, сохранение файла работает только в редакторе кода QuickEdit из трех вышеперечисленных. Могу перейти через интерпретатор Пайтон в директорию с этим файлом, но не знаю, какой командой из интерпетатора выполнить этот файл, чтобы результат работы, содержащимся в нём кода, вывелся в консоль интерпретатора.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
15.07.2022, 19:17
Наверное, __import__(). Но так никто не делает (кроме хитрых фреймворков)
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
16.07.2022, 02:27  [ТС]
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Наверное, __import__(). Но так никто не делает (кроме хитрых фреймворков)
А что именно вводить в интерпретатор?
Вот часть лога, как практиковался на планшете:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
Python 3.8.11 (default, Sep  6 2021, 17:21:11) 
[Clang 9.0.9 (https://android.googlesource.com/toolchain/llvm-project a2a1e703c on linux
The current application context is available in the variable 'context'.
>>> import os
 
>>> os.name
posix
 
>>> os.getcwd()
/
>>> print(dir(os))
['CLD_CONTINUED', 'CLD_DUMPED', 'CLD_EXITED', 'CLD_TRAPPED', 'DirEntry', 'EX_CANTCREAT', 'EX_CONFIG', 'EX_DATAERR', 'EX_IOERR', 'EX_NOHOST', 'EX_NOINPUT', 'EX_NOPERM', 'EX_NOUSER', 'EX_OK', 'EX_OSERR', 'EX_OSFILE', 'EX_PROTOCOL', 'EX_SOFTWARE', 'EX_TEMPFAIL', 'EX_UNAVAILABLE', 'EX_USAGE', 'F_LOCK', 'F_OK', 'F_TEST', 'F_TLOCK', 'F_ULOCK', 'GRND_NONBLOCK', 'GRND_RANDOM', 'MutableMapping', 'NGROUPS_MAX', 'O_ACCMODE', 'O_APPEND', 'O_ASYNC', 'O_CLOEXEC', 'O_CREAT', 'O_DIRECT', 'O_DIRECTORY', 'O_DSYNC', 'O_EXCL', 'O_LARGEFILE', 'O_NDELAY', 'O_NOATIME', 'O_NOCTTY', 'O_NOFOLLOW', 'O_NONBLOCK', 'O_PATH', 'O_RDONLY', 'O_RDWR', 'O_RSYNC', 'O_SYNC', 'O_TMPFILE', 'O_TRUNC', 'O_WRONLY', 'POSIX_FADV_DONTNEED', 'POSIX_FADV_NOREUSE', 'POSIX_FADV_NORMAL', 'POSIX_FADV_RANDOM', 'POSIX_FADV_SEQUENTIAL', 'POSIX_FADV_WILLNEED', 'PRIO_PGRP', 'PRIO_PROCESS', 'PRIO_USER', 'P_ALL', 'P_NOWAIT', 'P_NOWAITO', 'P_PGID', 'P_PID', 'P_WAIT', 'PathLike', 'RTLD_GLOBAL', 'RTLD_LAZY', 'RTLD_LOCAL', 'RTLD_NODELETE', 'RTLD_NOLOAD', 'RTLD_NOW', 'R_OK', 'SCHED_BATCH', 'SCHED_FIFO', 'SCHED_IDLE', 'SCHED_OTHER', 'SCHED_RESET_ON_FORK', 'SCHED_RR', 'SEEK_CUR', 'SEEK_DATA', 'SEEK_END', 'SEEK_HOLE', 'SEEK_SET', 'TMP_MAX', 'WCONTINUED', 'WCOREDUMP', 'WEXITED', 'WEXITSTATUS', 'WIFCONTINUED', 'WIFEXITED', 'WIFSIGNALED', 'WIFSTOPPED', 'WNOHANG', 'WNOWAIT', 'WSTOPPED', 'WSTOPSIG', 'WTERMSIG', 'WUNTRACED', 'W_OK', 'X_OK', '_Environ', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_check_methods', '_execvpe', '_exists', '_exit', '_fspath', '_fwalk', '_get_exports_list', '_putenv', '_spawnvef', '_unsetenv', '_wrap_close', 'abc', 'abort', 'access', 'altsep', 'chdir', 'chmod', 'chown', 'chroot', 'close', 'closerange', 'cpu_count', 'curdir', 'defpath', 'device_encoding', 'devnull', 'dup', 'dup2', 'environ', 'environb', 'error', 'execl', 'execle', 'execlp', 'execlpe', 'execv', 'execve', 'execvp', 'execvpe', 'extsep', 'fchdir', 'fchmod', 'fchown', 'fdatasync', 'fdopen', 'fork', 'fpathconf', 'fsdecode', 'fsencode', 'fspath', 'fstat', 'fsync', 'ftruncate', 'fwalk', 'get_blocking', 'get_exec_path', 'get_inheritable', 'get_terminal_size', 'getcwd', 'getcwdb', 'getegid', 'getenv', 'getenvb', 'geteuid', 'getgid', 'getgrouplist', 'getgroups', 'getlogin', 'getpgid', 'getpgrp', 'getpid', 'getppid', 'getpriority', 'getrandom', 'getresgid', 'getresuid', 'getuid', 'initgroups', 'isatty', 'kill', 'killpg', 'lchown', 'linesep', 'link', 'listdir', 'lseek', 'lstat', 'major', 'makedev', 'makedirs', 'minor', 'mkdir', 'mknod', 'name', 'nice', 'open', 'pardir', 'path', 'pathconf', 'pathconf_names', 'pathsep', 'pipe', 'pipe2', 'popen', 'pread', 'putenv', 'pwrite', 'read', 'readlink', 'readv', 'register_at_fork', 'remove', 'removedirs', 'rename', 'renames', 'replace', 'rmdir', 'scandir', 'sched_get_priority_max', 'sched_get_priority_min', 'sched_getaffinity', 'sched_getparam', 'sched_getscheduler', 'sched_param', 'sched_rr_get_interval', 'sched_setaffinity', 'sched_setparam', 'sched_setscheduler', 'sched_yield', 'sendfile', 'sep', 'set_blocking', 'set_inheritable', 'setegid', 'seteuid', 'setgid', 'setgroups', 'setpgid', 'setpgrp', 'setpriority', 'setregid', 'setresgid', 'setresuid', 'setreuid', 'setsid', 'setuid', 'spawnl', 'spawnle', 'spawnlp', 'spawnlpe', 'spawnv', 'spawnve', 'spawnvp', 'spawnvpe', 'st', 'stat', 'stat_result', 'statvfs_result', 'strerror', 'supports_bytes_environ', 'supports_dir_fd', 'supports_effective_ids', 'supports_fd', 'supports_follow_symlinks', 'symlink', 'sync', 'sys', 'sysconf', 'sysconf_names', 'system', 'tcgetpgrp', 'tcsetpgrp', 'terminal_size', 'times', 'times_result', 'truncate', 'ttyname', 'umask', 'uname', 'uname_result', 'unlink', 'unsetenv', 'urandom', 'utime', 'wait', 'waitid', 'waitid_result', 'waitpid', 'walk', 'write', 'writev']
>>> os.listdir()
['sdcard', 'bcm4329_cybertan.hcd', 'bcm4329_usi.hcd', 'bcm4329_samsung.hcd', 'config', 'cache', 'acct', 'vendor', 'd', 'etc', 'storage', 'mnt', 'proc', 'charger', 'rk30xxnand_ko.ko.3.0.36+', 'default.prop', 'init.usb.rc', 'ueventd.rk30board.rc', 'ueventd.rc', 'init.trace.rc', 'res', 'ueventd.goldfish.rc', 'init.rk30board.usb.rc', 'system', 'init.rc', 'rk30xxnand_ko.ko.3.0.8+', 'logo.raw', 'sbin', 'init.goldfish.rc', 'data', 'init', 'sys', 'init.rk30board.rc', 'root', 'dev']
>>> os.system('echo hello')
0
>>> os.getlogin
<built-in function getlogin>
>>> os.getlogin()
u0_a82
 
>>> import sys
 
>>> sys.exec_prefix
/usr/local
>>> sys.executable
/system/bin/app_process
 
>>> os.listdir()
['sdcard', 'bcm4329_cybertan.hcd', 'bcm4329_usi.hcd', 'bcm4329_samsung.hcd', 'config', 'cache', 'acct', 'vendor', 'd', 'etc', 'storage', 'mnt', 'proc', 'charger', 'rk30xxnand_ko.ko.3.0.36+', 'default.prop', 'init.usb.rc', 'ueventd.rk30board.rc', 'ueventd.rc', 'init.trace.rc', 'res', 'ueventd.goldfish.rc', 'init.rk30board.usb.rc', 'system', 'init.rc', 'rk30xxnand_ko.ko.3.0.8+', 'logo.raw', 'sbin', 'init.goldfish.rc', 'data', 'init', 'sys', 'init.rk30board.rc', 'root', 'dev']
>>> os.chdir('mnt')
 
>>> os.getcwd()
/mnt
>>> os.listdir()
['sdcard', 'obb', 'asec', 'secure', 'shell', 'usb_storage', 'external_sd']
>>> os.chdir('sdcard')
 
>>> os.listdir()
['LOST.DIR', '.android_secure', 'Notifications', 'Music', 'Podcasts', 'Ringtones', 'Alarms', 'Pictures', 'Movies', 'Download', 'DCIM', 'Android', 'System', 'Subtitles', 'Books', 'qpython', 'Python', 'Compiler', '.m', 'TunnyBrowser', '.goproduct', 'gokeyboard', '.csproduct', '.org.sufficientlysecure.viewer', '.libro.ebook.pdf.reader', 'mbstph', '.org.ebookdroid', 'koreader', 'Notebloc', '.pdf.reader', 'Librera', 'ReadEra', 'a.py', '.adobe-digital-editions', 'Screenshots']
 
>>> a.py
Traceback (most recent call last):
  File "<console>", line 1, in <module>
NameError: name 'a' is not defined
 
>>> os.startfile(a.py)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: module 'os' has no attribute 'startfile'
 
>>> print(dir(os))
['CLD_CONTINUED', 'CLD_DUMPED', 'CLD_EXITED', 'CLD_TRAPPED', 'DirEntry', 'EX_CANTCREAT', 'EX_CONFIG', 'EX_DATAERR', 'EX_IOERR', 'EX_NOHOST', 'EX_NOINPUT', 'EX_NOPERM', 'EX_NOUSER', 'EX_OK', 'EX_OSERR', 'EX_OSFILE', 'EX_PROTOCOL', 'EX_SOFTWARE', 'EX_TEMPFAIL', 'EX_UNAVAILABLE', 'EX_USAGE', 'F_LOCK', 'F_OK', 'F_TEST', 'F_TLOCK', 'F_ULOCK', 'GRND_NONBLOCK', 'GRND_RANDOM', 'MutableMapping', 'NGROUPS_MAX', 'O_ACCMODE', 'O_APPEND', 'O_ASYNC', 'O_CLOEXEC', 'O_CREAT', 'O_DIRECT', 'O_DIRECTORY', 'O_DSYNC', 'O_EXCL', 'O_LARGEFILE', 'O_NDELAY', 'O_NOATIME', 'O_NOCTTY', 'O_NOFOLLOW', 'O_NONBLOCK', 'O_PATH', 'O_RDONLY', 'O_RDWR', 'O_RSYNC', 'O_SYNC', 'O_TMPFILE', 'O_TRUNC', 'O_WRONLY', 'POSIX_FADV_DONTNEED', 'POSIX_FADV_NOREUSE', 'POSIX_FADV_NORMAL', 'POSIX_FADV_RANDOM', 'POSIX_FADV_SEQUENTIAL', 'POSIX_FADV_WILLNEED', 'PRIO_PGRP', 'PRIO_PROCESS', 'PRIO_USER', 'P_ALL', 'P_NOWAIT', 'P_NOWAITO', 'P_PGID', 'P_PID', 'P_WAIT', 'PathLike', 'RTLD_GLOBAL', 'RTLD_LAZY', 'RTLD_LOCAL', 'RTLD_NODELETE', 'RTLD_NOLOAD', 'RTLD_NOW', 'R_OK', 'SCHED_BATCH', 'SCHED_FIFO', 'SCHED_IDLE', 'SCHED_OTHER', 'SCHED_RESET_ON_FORK', 'SCHED_RR', 'SEEK_CUR', 'SEEK_DATA', 'SEEK_END', 'SEEK_HOLE', 'SEEK_SET', 'TMP_MAX', 'WCONTINUED', 'WCOREDUMP', 'WEXITED', 'WEXITSTATUS', 'WIFCONTINUED', 'WIFEXITED', 'WIFSIGNALED', 'WIFSTOPPED', 'WNOHANG', 'WNOWAIT', 'WSTOPPED', 'WSTOPSIG', 'WTERMSIG', 'WUNTRACED', 'W_OK', 'X_OK', '_Environ', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_check_methods', '_execvpe', '_exists', '_exit', '_fspath', '_fwalk', '_get_exports_list', '_putenv', '_spawnvef', '_unsetenv', '_wrap_close', 'abc', 'abort', 'access', 'altsep', 'chdir', 'chmod', 'chown', 'chroot', 'close', 'closerange', 'cpu_count', 'curdir', 'defpath', 'device_encoding', 'devnull', 'dup', 'dup2', 'environ', 'environb', 'error', 'execl', 'execle', 'execlp', 'execlpe', 'execv', 'execve', 'execvp', 'execvpe', 'extsep', 'fchdir', 'fchmod', 'fchown', 'fdatasync', 'fdopen', 'fork', 'fpathconf', 'fsdecode', 'fsencode', 'fspath', 'fstat', 'fsync', 'ftruncate', 'fwalk', 'get_blocking', 'get_exec_path', 'get_inheritable', 'get_terminal_size', 'getcwd', 'getcwdb', 'getegid', 'getenv', 'getenvb', 'geteuid', 'getgid', 'getgrouplist', 'getgroups', 'getlogin', 'getpgid', 'getpgrp', 'getpid', 'getppid', 'getpriority', 'getrandom', 'getresgid', 'getresuid', 'getuid', 'initgroups', 'isatty', 'kill', 'killpg', 'lchown', 'linesep', 'link', 'listdir', 'lseek', 'lstat', 'major', 'makedev', 'makedirs', 'minor', 'mkdir', 'mknod', 'name', 'nice', 'open', 'pardir', 'path', 'pathconf', 'pathconf_names', 'pathsep', 'pipe', 'pipe2', 'popen', 'pread', 'putenv', 'pwrite', 'read', 'readlink', 'readv', 'register_at_fork', 'remove', 'removedirs', 'rename', 'renames', 'replace', 'rmdir', 'scandir', 'sched_get_priority_max', 'sched_get_priority_min', 'sched_getaffinity', 'sched_getparam', 'sched_getscheduler', 'sched_param', 'sched_rr_get_interval', 'sched_setaffinity', 'sched_setparam', 'sched_setscheduler', 'sched_yield', 'sendfile', 'sep', 'set_blocking', 'set_inheritable', 'setegid', 'seteuid', 'setgid', 'setgroups', 'setpgid', 'setpgrp', 'setpriority', 'setregid', 'setresgid', 'setresuid', 'setreuid', 'setsid', 'setuid', 'spawnl', 'spawnle', 'spawnlp', 'spawnlpe', 'spawnv', 'spawnve', 'spawnvp', 'spawnvpe', 'st', 'stat', 'stat_result', 'statvfs_result', 'strerror', 'supports_bytes_environ', 'supports_dir_fd', 'supports_effective_ids', 'supports_fd', 'supports_follow_symlinks', 'symlink', 'sync', 'sys', 'sysconf', 'sysconf_names', 'system', 'tcgetpgrp', 'tcsetpgrp', 'terminal_size', 'times', 'times_result', 'truncate', 'ttyname', 'umask', 'uname', 'uname_result', 'unlink', 'unsetenv', 'urandom', 'utime', 'wait', 'waitid', 'waitid_result', 'waitpid', 'walk', 'write', 'writev']
>>> help(os.getcwd)
Help on built-in function getcwd in module posix:
 
getcwd()
    Return a unicode string representing the current working directory.
 
 
>>> os.listdir()
['LOST.DIR', '.android_secure', 'Notifications', 'Music', 'Podcasts', 'Ringtones', 'Alarms', 'Pictures', 'Movies', 'Download', 'DCIM', 'Android', 'System', 'Subtitles', 'Books', 'qpython', 'Python', 'Compiler', '.m', 'TunnyBrowser', '.goproduct', 'gokeyboard', '.csproduct', '.org.sufficientlysecure.viewer', '.libro.ebook.pdf.reader', 'mbstph', '.org.ebookdroid', 'koreader', 'Notebloc', '.pdf.reader', 'Librera', 'ReadEra', 'a.py', '.adobe-digital-editions', 'Screenshots', 'file1txt']
>>> os.getcwd()
'/mnt/sdcard'
 
>>> os.chdir('Python')
>>> os.listdir()
['a1.py', 'aq.py', 'as.py']
 
>>> import sys
 
>>> sys.version
'3.8.11 (default, Sep  6 2021, 17:21:11) \n[Clang 9.0.9 (https://android.googlesource.com/toolchain/llvm-project a2a1e703c'
 
>>> sys.platform
'linux'
 
>>> os.name
'posix'
 
>>> dir(sys)
['__breakpointhook__', '__displayhook__', '__doc__', '__excepthook__', '__interactivehook__', '__loader__', '__name__', '__package__', '__spec__', '__stderr__', '__stdin__', '__stdout__', '__unraisablehook__', '__warningregistry__', '_base_executable', '_clear_type_cache', '_current_frames', '_debugmallocstats', '_framework', '_getframe', '_git', '_home', '_xoptions', 'abiflags', 'addaudithook', 'api_version', 'argv', 'audit', 'base_exec_prefix', 'base_prefix', 'breakpointhook', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dont_write_bytecode', 'exc_info', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'get_asyncgen_hooks', 'get_coroutine_origin_tracking_depth', 'getallocatedblocks', 'getandroidapilevel', 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencodeerrors', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'getswitchinterval', 'gettrace', 'hash_info', 'hexversion', 'implementation', 'int_info', 'intern', 'is_finalizing', 'last_traceback', 'last_type', 'last_value', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'pycache_prefix', 'set_asyncgen_hooks', 'set_coroutine_origin_tracking_depth', 'setcheckinterval', 'setdlopenflags', 'setprofile', 'setrecursionlimit', 'setswitchinterval', 'settrace', 'stderr', 'stdin', 'stdout', 'thread_info', 'unraisablehook', 'version', 'version_info', 'warnoptions']
 
>>> sys.implementation
namespace(cache_tag='cpython-38', hexversion=50858992, name='cpython', version=sys.version_info(major=3, minor=8, micro=11, releaselevel='final', serial=0))
 
>>> sys.exec_prefix
'/usr/local'
>>> sys.executable
'/system/bin/app_process'
>>>
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
16.07.2022, 18:19  [ТС]
Что-то из этого можно использовать по поводу заданного вопроса?
os.system, os.popen, import subprocess

Добавлено через 8 минут
Нашел такие примеры кода на русских блогах.
Python
1
2
3
4
5
6
7
8
9
import os
 
 # popen возвращает объект файла, так же как операция открытия
f = os.popen(r"python d:\hello.py", "r")
 
 d = f.read () # чтение файла
print(d)
print(type(d))
f.close()
Python
1
2
3
4
5
import os
 
os.system('cd /usr/local && mkdir aaa.txt')
# Или
os.system('cd /usr/local ; mkdir aaa.txt')
Python
1
2
3
4
5
6
7
import os
 
#                
os.popen('notepad')
 
 # Получить журнал или результат запуска, такого как список файлов
r = os.popen('tree')
Python
1
2
3
4
5
6
7
8
9
10
11
import subprocess
 
 # Может отображать журнал / результат
subprocess.call('pip list', shell=True)
 
 #    .
subprocess.call('pip uninstall pip', shell=True)
 
 #                
retcode = subprocess.call('tree', shell=True)
print(retcode)
Python
1
2
3
4
5
6
7
8
9
10
import subprocess
 
 # Получить результаты пробега, прочитайте все, дождитесь запуска команды
p = subprocess.Popen('ping baidu.com', shell=True, stdout=subprocess.PIPE).stdout
print(p.read().decode('gbk'))
 
 #      , прочитайте одну строку
p = subprocess.Popen('ping baidu.com', shell=True, stdout=subprocess.PIPE)
for line in iter(p.stdout.readline, b''):
    print(line.strip().decode('gbk'))
Добавлено через 2 минуты
Продолжение.
Python
1
2
3
>>> print os.popen('echo "hello"').readline()
 
hello
==================================

Разница в использовании subprocess.Popen, os.popen и os.system

Python
1
2
3
4
5
6
7
8
1subprocess.Popen()
 
import subprocess
cmd_string = "sudo chroot /home/ubuntu/hdd_1/zgd/Open_Components/firmware_analysis/GE_F650-192.168.0.232 ./qemu-ppc-static /bin/busybox"
p = subprocess.Popen(cmd_string, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
outinfo = p.stdout.readlines () # или outinfo = p.stdout.read ()
print outinfo
Возможность распечатать вывод терминала
Python
1
2
3
4
5
6
7
8
2os.system()
 
import os
cmd_string = "sudo chroot /home/ubuntu/hdd_1/zgd/Open_Components/firmware_analysis/GE_F650-192.168.0.232 ./qemu-ppc-static /bin/busybox"
cmd_out_info = os.system(cmd_string)
# cmd_out_info = os.popen(cmd_string).read()
print cmd_out_info
Хотя результат выводится в терминале, он автоматически выводится в терминале при выполнении os.system (). Но print cmd_out_info не выводит соответствующую информацию, и программа не может выйти, когда входит в среду busybox.
Python
1
2
3
4
5
6
7
8
3os.popen()
 
import os
cmd_string = "sudo chroot /home/ubuntu/hdd_1/zgd/Open_Components/firmware_analysis/GE_F650-192.168.0.232 ./qemu-ppc-static /bin/busybox"
# cmd_out_info = os.system(cmd_string)
cmd_out_info = os.popen(cmd_string).read()
print cmd_out_info
Использование команд os.popen () и os.system () аналогично, за исключением того, что os.popen () не только выполняет команду, но и выводит результат выполнения.
0
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,249
16.07.2022, 18:28
так а вопрос в чём? как запустить программу на пайтоне?
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
16.07.2022, 18:42  [ТС]
Да, как запустить из интерпретатора с выводом результата в консоль интерпретатора? То есть, если в программе есть например текст интерактивного диалога или просто что-то печатает через print, то чтобы отображалось в интерпретаторе.
0
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,249
16.07.2022, 18:45
т.е. вы хотите запустить скрипт пайтона и получить результаты его работы в другом скрипте пайтона?
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
16.07.2022, 19:13  [ТС]
Нет, хочу запустить скрипт Пайтон и получить результат его работы в консоли интерпретатора.
Под консолью интерпретатора понимаю такое диалоговое окно сеанса работы, как например когда в CMD (в Windows) или в Bash ( в Линукс) ввожу слово python и появляются стрелочки >>> для ввода команд. Вот в этом самом окне надо чтобы выводился результат работы программы или принты.

Добавлено через 2 минуты
Нашел ещё такой пример
Python
1
2
import os
os.system("start python main.py")
0
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,249
16.07.2022, 20:27
Может вам вот этого хватит и не будет никакой боли?
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
16.07.2022, 20:35
Alli_Lupin, отборная хрень.

0
16.07.2022, 20:44

Не по теме:

Рыжий Лис, ну так это... хрень к хрени...

0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
16.07.2022, 21:26  [ТС]
Если бы JupyterLite работал в браузере на Андроид 4.2, то как в нём запустить на выполнение файл с расширением py?
0
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,249
16.07.2022, 22:48
в нём не надо заниматься подобными глупостями. Он позволяет выполнять много разного кода на одном листе.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
16.07.2022, 23:16  [ТС]
А чем лучше консоли интерпретатора?
0
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,249
16.07.2022, 23:17
тем, что этот инструмент предназначен для выполнения не связанных между собой косков кода.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
17.07.2022, 05:27  [ТС]
Цитата Сообщение от Alli_Lupin Посмотреть сообщение
тем, что этот инструмент предназначен для выполнения не связанных между собой косков кода.
Что-то не понял, что это значит?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
17.07.2022, 10:06
Цитата Сообщение от supmener Посмотреть сообщение
Что-то не понял
Вот ни разу не удивлен.
Консоль интерпретатора предназначена для выполнения кусочков кода в риалтайме. А запуском программ, равно как и скармливание файлов интерпретатору, занимается операционка. Можно, конечно, запустить и из консоли питона, только запустит опять же ос. Это называется лечить косоглазие через жопу. Из консоли питона вызвать команду операционки, которая запустить интерпретатор и скормит ему .py файл. Что-то это мне напоминает.
В чем проблема открыть файл в редакторе и запустить его? На худой конец скопипастить текст в редактор?
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
17.07.2022, 12:18  [ТС]
У меня не установлен такой работоспособный редактор в Андроид 4.2, в котором есть кнопка для запуска кода.
Цитата Сообщение от supmener Посмотреть сообщение
QPython
"Only Android L + device are supported"
Поддерживаются устройства с Android L(5.0) и выше (прочитал в интернете)
Добавлено через 13 минут
Испытал команду
Python
1
os.system("start python a1.py")
Выводит в консоль интерпретатора 0, а в этом файле код:
Python
1
print("Hello")
. Что-то можно поправить, чтобы выводилось Hello ?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
17.07.2022, 12:23
Цитата Сообщение от supmener Посмотреть сообщение
Выводит в консоль интерпретатора 0
Не удивительно:
Bash
1
2
3
4
5
6
7
8
9
10
start
 
Команда «start» не найдена. Возможно, вы имели в виду:
 
  command 'stat' from deb coreutils (8.30-3ubuntu2)
  command 'tart' from deb tart (3.10-1build1)
  command 'rstart' from deb x11-session-utils (7.7+4)
  command 'startx' from deb xinit (1.4.1-0ubuntu2)
 
Try: sudo apt install <deb name>
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
17.07.2022, 12:32

Не по теме:

Рыжий Лис, вообще не понимаю, как можно сидеть под линуксом и быть таким дуболомом? Это я так, без личностей, ага )))



supmener, ты еще не забудь спросить, откуда там нолик появился
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.07.2022, 12:32
Помогаю со студенческими работами здесь

Как удалить вирус BroServices на планшете с Android?
Вирус на планшете с Android размещается во всех браузерах справа внизу. Реклама показывается от Google. Запускает вирус сервис...

Как на планшете с ОС Android запустить файл Windows exe?
Всем доброго времени суток. Подскажите пожалуйста, как этот видео курс смотреть на планшете Lenovo Android 4.4?

Как программировать МК в ОС Android на планшетном компьютере
Подскажите, существуют или нет программы похожие на Atmel Studio работающие в ОС Android, чтобы ее можно было установить на планшетный...

Как на новом планшете снести Android и поставить нормальную Windows, как минимум ХР?
???

Как обновить Android на планшете roverpad 3w g70 или как убрать глюки на нём?
Как обновить Android на планшете roverpad 3w g70 или как убрать глюки на нём? Можно ли хотя бы глюки и лаги эти постоянные на родном 1.5...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru