我真的不知道如何更好地表达这个问题,所以让我们举个例子:
我liveusb-creator
不久前安装在我的 Fedora 上,我想知道它执行的文件位于哪里。我知道which
和whereis
:
which 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,所以这对我来说有点神秘:实际执行的文件在哪里?
它似乎也发挥了一些重要作用
from liveusb import LiveUSBCreator
它如何知道什么liveusb
和LiveUSBCreator
是什么?
答案1
脚本的第一行可能应该以 开头#!
,后跟 python 解释器的名称。 (如/usr/bin/env python
。)您可以在终端中手动启动它,并添加-v
:
/usr/bin/env python -v
由于-v
.要查看 python 模块的位置liveusb
,请输入
import liveusb
(或from liveusb import _
),按 Enter 键,您应该会得到您要查找的信息。
使用 Control+D 退出。