Python - 在扫描导入语句的字符串文本时 EOL



我正在尝试使用命令行测试s3软件包,说py -c 'import s3',并且收到字符串文字EOL结尾的错误。尽管关于 EOL 的大多数其他问题都涉及不关闭引号或转义字符,但我的问题只是一个简单的导入语句。我的格式化方式可能有什么问题?

源代码没有问题(据我所知(,这只是因为您在命令行中使用了单引号,这些单引号不会被解释为带有空格的分组(在Windows上,我可以告诉你是因为您使用的是py(。 只需使用双引号:py -c "import s3". 由于字符串未作为完整参数传递, Python 解释器只是接收"导入",您可能知道,这不是有效的语法:)。如果你想要一个简单的程序来告诉你为什么在Windows中会发生这种情况,我有这个:

import sys
print(sys.argv)

在窗户上:

C:UsersMichaelDesktop>py argv.py 'a sentence'
['argv.py', "'a", "sentence'"]

在 Linux 上:

michael@Michael:/mnt/c/Users/Michael/Desktop$ python3 argv.py 'a sentence'
['argv.py', 'a sentence']

因此,在Windows上,在传递带有空格的命令行参数时,只需使用双引号而不是单引号,因为它们仍将在空格上拆分。 在Linux上,这并不重要。 再一次,问题的解决方案只是键入:
py -c "import s3"而不是:py -c 'import s3'
有美好的一天!

最新更新