在Python3中使用Script = argv

时间:2018-06-26 10:00:26

标签: python python-3.x argv sys

我正在使用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.")

如何仅打印正在运行的文件?

2 个答案:

答案 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__)