如何解决简单单击工具的python语法错误?

如何解决简单单击工具的python语法错误?,python,azure-devops,command-line-interface,Python,Azure Devops,Command Line Interface,我正在为CLI创建一个简单的单击工具。代码如下所示: import click @click.command(help="This is just a hello app. It does nothing.") #click menu setup and help show @click.option("--name", prompt="I need your name", help="Need name")

我正在为CLI创建一个简单的单击工具。代码如下所示:

import click

@click.command(help="This is just a hello app. It does nothing.")   #click menu setup and help show
@click.option("--name", prompt="I need your name", help="Need name")    #something that accepts the parameters as options then probbaly a help message
@click.option("--color", prompt="I need your color", help="This is your color") #color setup with a prompt for color request and help clause as well
def hello(name, color):
    if name == "Samuel":
        click.echo("Samuel, you are always DevOps blue.")
        click.echo(click.style(f"Hello {name}!", fg="blue"))
    else:
        else:
            click.echo(f"Your color is {color}!")
            click.echo(click.style(f"Hello {name}!", fg=color))

if __name__ == "__main__":      #only run this block if it runs as a script and it's close to having a CLI
    hello()
File "click.py", line 9
    click.echo(click.style(f"Hello {name}!", fg="blue"))
                                          ^
SyntaxError: invalid syntax
运行此命令后,
python2 click.py
,产生的错误如下所示:

import click

@click.command(help="This is just a hello app. It does nothing.")   #click menu setup and help show
@click.option("--name", prompt="I need your name", help="Need name")    #something that accepts the parameters as options then probbaly a help message
@click.option("--color", prompt="I need your color", help="This is your color") #color setup with a prompt for color request and help clause as well
def hello(name, color):
    if name == "Samuel":
        click.echo("Samuel, you are always DevOps blue.")
        click.echo(click.style(f"Hello {name}!", fg="blue"))
    else:
        else:
            click.echo(f"Your color is {color}!")
            click.echo(click.style(f"Hello {name}!", fg=color))

if __name__ == "__main__":      #only run this block if it runs as a script and it's close to having a CLI
    hello()
File "click.py", line 9
    click.echo(click.style(f"Hello {name}!", fg="blue"))
                                          ^
SyntaxError: invalid syntax

有人能帮忙吗?

python2 click.py
表示您正在用Python 2运行此代码,但是像
f“Hello{name}!”
这样的f字符串只可用,所以您应该用Python 3运行此代码

要与Python 2保持兼容,请使用
str.format

"Hello {}!".format(name)

python2 click.py
意味着您正在使用Python 2运行此代码,但是像
f“Hello{name}!”
这样的f字符串仅可用,因此您应该使用Python 3运行此代码

要与Python 2保持兼容,请使用
str.format

"Hello {}!".format(name)

重复的
关键字有什么用:
关键字?删除了,谢谢!重复的
关键字有什么用:
关键字?删除了,谢谢!我能够将代码库更改为python3,因此我不必重构,但仍然存在一个错误:回溯(最近一次调用):文件“click.py”,第1行,导入单击文件“/home/samuel/Desktop/Azure DevOps/click.py”,第3行,在@click.command中(帮助=“这只是一个hello应用程序,它什么都不做。”)#单击菜单设置并帮助显示属性错误:部分初始化的模块“click”没有属性“command”(很可能是由于循环导入)@SamBayo,Python认为
import click
指的是
/home/samuel/../click.py
,因此它将尝试递归地将其导入自身,这是一种“循环导入”的情况。你应该将你的文件重命名为其他文件。工作很神奇,谢谢!我能够将代码库更改为python3,因此我不必重构,但仍然存在一个错误:回溯(最近一次调用):文件“click.py”,第1行,导入单击文件“/home/samuel/Desktop/Azure DevOps/click.py”,第3行,在@click.command中(帮助=“这只是一个hello应用程序,它什么都不做。”)#单击菜单设置并帮助显示属性错误:部分初始化的模块“click”没有属性“command”(很可能是由于循环导入)@SamBayo,Python认为
import click
指的是
/home/samuel/../click.py
,因此它将尝试递归地将其导入自身,这是一种“循环导入”的情况。你应该将你的文件重命名为其他文件。工作很神奇,谢谢!