程序打印自己的名字作为输出
曾经想过编写一个脚本,当你执行它时打印它自己的名字。这很简单。你一定注意到了 main函数是这样写的程序
int main(int argc, char** argv)
你一定想知道这两个论点是什么意思。
- 那么第一个argc是传递给程序的参数数量。
- 第二个argv是包含传递给程序的所有参数名称的数组。
- 除了这些参数之外,还有一条额外的信息存储在该数组的第一个单元格中,即 argv[0],它是包含代码的文件的完整路径。
要打印程序的名称,我们需要做的就是从该路径中切出文件名。
执行
下面是上面讨论的想法的Python实现。假设脚本的名称是 print_my_name。
# Python program to prints it own name upon execution
import sys
def main():
program = sys.argv[0] # argv[0] contains the full path of the file
# rfind() finds the last index of backslash
# since in a file path the filename comes after the last '\'
index = program.rfind("\\") + 1
# slicing the filename out of the file path
program = program[index:]
print("Program Name: % s" % program)
# executes main
if __name__ == "__main__":
main()
Output: print_my_name.py
注意:当您在 GeeksforGeeks 在线编译器上运行它时,输出会有所不同。