我正在使用Python3,每次我运行下面的代码Python3 ex14.py
并打印(f"Hi {user_name}, I'm the {script} script.")
时,我都正确地使用{user_name}
,但是{script}
会显示我正在运行的文件以及变量{user_name}
from sys import argv
script = argv
prompt = '> '
# If I use input for the user_name, when running the var script it will show the file script plus user_name
print("Hello Master. Please tell me your name: ")
user_name = input(prompt)
print(f"Hi {user_name}, I'm the {script} script.")
如何仅打印正在运行的文件?
答案 0 :(得分:5)
argv
收集所有命令行参数,包括脚本本身的名称。如果要排除名称,请使用argv[1:]
。如果只需要文件名,请使用argv[0]
。对于您的情况:script = argv[0]
。
答案 1 :(得分:0)
timgeb的答案是正确的,但是如果您想摆脱文件的路径,则可以使用os lib中的 X Y
0 0 111
1 3 3
2 1 1
3 1 112
4 2 113
5 2 2
6 3 114
7 3 115
8 1 1
9 2 116
。
在您的代码中,它将类似于:
os.path.basename(__file__)