如何解决简单单击工具的python语法错误?
我正在为CLI创建一个简单的单击工具。代码如下所示:如何解决简单单击工具的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")
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
,因此它将尝试递归地将其导入自身,这是一种“循环导入”的情况。你应该将你的文件重命名为其他文件。工作很神奇,谢谢!