📜  程序打印自己的名称作为输出

📅  最后修改于: 2020-05-12 05:12:10             🧑  作者: Mango

曾经想过编写一个脚本,在执行该脚本时会打印自己的名称。 这很简单,您一定已经注意到其中这样编写主函数的程序

int main(int argc,char ** argv)

并且您一定想知道这两个参数的含义。

  • 那么第一个argc是传入程序的参数数量。
  • 第二个argv是一个数组,其中包含传递到程序中的所有参数的名称。
  • 连同这些参数一起,在该数组的数组第一个单元格中存储了一条额外的信息,即argv [0],这是包含代码的文件的完整路径。

要打印程序的名称,我们要做的就是将文件名切出该路径。

实现

以下是上述想法的Python实现。假设脚本的名称是print_my_name。

# Python程序在执行时打印自己的名称
import sys
def main():
    program = sys.argv[0] # argv[0] contains the full path of the file
    # rfind()查找反斜杠的最后一个索引
    # 因为在文件路径中文件名位于最后一个'\'之后
    index = program.rfind("\\") + 1
    # 将文件名切出文件路径
    program = program[index:]
    print("Program Name: % s" % program)
# 执行主要
if __name__ == "__main__":
    main()
输出:
print_my_name.py