首页 > 解决方案 > 命令行操作无法解析 f-string 和 python 3 打印参数

问题描述

当我在我的 PyCharm IDE 中运行这段代码时,它运行良好......</p>

argnotparse.py

if __name__ == '__main__':
    print('Hello world')
    world = 'world'
    print(f'Hello {world}')
    print('Hello', 'world', sep=' ', end='\n')

它产生的预期输出......</p>

argnotparse.py"
Hello world
Hello world
Hello world

但如果我从命令行运行它,我会看到……</p>

$ python argnotparse.py
  File "argnotparse.py", line 5
    print(f'Hello {world}')
                         ^
SyntaxError: invalid syntax

我的第一个想法是 python 的命令行解析器中的某些内容没有使用 python v3.6 中的 f 字符串进行更新。所以我把那行注释掉了,然后再试一次……</p>

$ python argnotparse.py
  File "argnotparse.py", line 6
    print('Hello', 'world', sep=' ', end='\n')
                               ^
SyntaxError: invalid syntax

这排除了我认为 argparse 模块尚未更新的想法,因为它的教程演示了这个带有“end”作为参数的 python v3 打印语句。(它在标题为“变得更高级”的部分中。)

为什么会这样?

ps我正在运行python 3.7

--编辑--

请参阅“如何在 OS X 上将 Python 的默认版本设置为 3.x?”

标签: python-3.x

解决方案


推荐阅读