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