Я действительно не знаю, как лучше сформулировать этот вопрос, поэтому давайте рассмотрим пример:
Я установил liveusb-creator
на свою Fedora некоторое время назад, и я интересно, где находятся файлы, которые он запускает.
Я знаю о , который
и , где
:
, который liveusb-creator
/ usr / sbin / liveusb-creator
liveusb-creator
сам по себе является частью кода Python, который содержит, наряду с некоторым методом parse_args ()
, который просто выполняет то, что написано в его названии, это:
import sys
import os
from liveusb import _
def parse_args():
#
# some code that handles parsing command line arguments...
#
def main():
opts, args = parse_args()
if opts.console:
from liveusb import LiveUSBCreator
try:
live = LiveUSBCreator(opts)
live.detect_removable_drives()
live.verify_filesystem()
live.extract_iso()
live.update_configs()
live.install_bootloader()
except Exception, e:
print str(e)
x = raw_input("\nDone! Press any key to exit")
else:
## Start our graphical interface
from liveusb.gui import LiveUSBApp
try:
LiveUSBApp(opts, sys.argv)
except KeyboardInterrupt:
pass
if __name__ == '__main__':
if sys.platform != 'win32':
if os.getuid() != 0:
print >> sys.stderr, _("You must run this application as root")
sys.exit(1)
main()
Мне пришло в голову, что сам код Python - это не та программа, которую вы видите при запуске приложения LiveUSB. Я не понимаю Python, поэтому для меня это непонятно: Где собственно исполняемый файл?
Кажется, он также выполняет некоторую магию импорта в
из liveusb import LiveUSBCreator
Как он узнает, что такое liveusb
и LiveUSBCreator
?