Python-扫描Import语句的字符串文字时停产

时间:2018-06-21 22:38:43

标签: python

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

1 个答案:

答案 0 :(得分:0)

源代码没有任何问题(据我所知),仅是因为您在命令行中使用了单引号,而不将其解释为以空格分组(在Windows上,我可以告诉您这是因为您正在使用py)。只需使用双引号:py -c "import s3"。由于未将字符串作为完整参数传递,因此python解释器仅接收“ import”,这可能是无效的语法:)。如果您想要一个简单的程序来显示为什么这在Windows中是如何发生的,我有这个:

import sys
print(sys.argv)

在Windows上:

C:\Users\Michael\Desktop>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'
祝你有美好的一天!