AWS Greengrass V2 中的语法错误 hello_world.py
syntax error in AWS Greengrass V2 hello_world.py
我正在试验 AWS IoT greengrass V2。我只是在遵循具有以下 python 代码的手册:
import sys
import datetime
message = f"Hello, {sys.argv[1]}! Current time: {str(datetime.datetime.now())}."
# Print the message to stdout.
print(message)
# Append the message to the log file.
with open('/tmp/Greengrass_HelloWorld.log', 'a') as f:
print(message, file=f)
根据我的日志记录,第 4 行中存在语法错误。将第 4 行替换为以下内容可以正常工作:
message = "Hello"
有没有人看出这行有什么问题:
message = f"Hello, {sys.argv[1]}! Current time: {str(datetime.datetime.now())}."
谢谢。
我是 AWS IoT Greengrass 的文档编写者之一。
格式化字符串文字 (f"some content"
) 是 Python 3.6+ 的一个特性,这种语法在早期版本中会导致语法错误。入门教程要求错误地将 Python 3.5 列为要求,但 Python 3.5 不支持格式化字符串文字。我们会将此要求更新为 3.6 或更新脚本以删除格式化字符串文字。
要解决此问题,您可以升级到 Python 3.6+ 或修改脚本以删除格式化字符串文字。感谢您发现这个问题!
郑重声明:我更改了代码,避免了 f"stringliteral"
:
import sys
import datetime
constrmessage ="Hello, ",str(sys.argv[1])," "+str(datetime.datetime.now())
#change from tuple to string
message = ''.join(constrmessage)
#print message to screen
print(message)
original_stdout = sys.stdout
# Append the message to the log file.
with open('/tmp/Greengrass_HelloWorld.log', 'a') as f:
sys.stdout = f
print(message)
sys.stdout = original_stdout
我正在试验 AWS IoT greengrass V2。我只是在遵循具有以下 python 代码的手册:
import sys
import datetime
message = f"Hello, {sys.argv[1]}! Current time: {str(datetime.datetime.now())}."
# Print the message to stdout.
print(message)
# Append the message to the log file.
with open('/tmp/Greengrass_HelloWorld.log', 'a') as f:
print(message, file=f)
根据我的日志记录,第 4 行中存在语法错误。将第 4 行替换为以下内容可以正常工作:
message = "Hello"
有没有人看出这行有什么问题:
message = f"Hello, {sys.argv[1]}! Current time: {str(datetime.datetime.now())}."
谢谢。
我是 AWS IoT Greengrass 的文档编写者之一。
格式化字符串文字 (f"some content"
) 是 Python 3.6+ 的一个特性,这种语法在早期版本中会导致语法错误。入门教程要求错误地将 Python 3.5 列为要求,但 Python 3.5 不支持格式化字符串文字。我们会将此要求更新为 3.6 或更新脚本以删除格式化字符串文字。
要解决此问题,您可以升级到 Python 3.6+ 或修改脚本以删除格式化字符串文字。感谢您发现这个问题!
郑重声明:我更改了代码,避免了 f"stringliteral"
:
import sys
import datetime
constrmessage ="Hello, ",str(sys.argv[1])," "+str(datetime.datetime.now())
#change from tuple to string
message = ''.join(constrmessage)
#print message to screen
print(message)
original_stdout = sys.stdout
# Append the message to the log file.
with open('/tmp/Greengrass_HelloWorld.log', 'a') as f:
sys.stdout = f
print(message)
sys.stdout = original_stdout