我有一个python3.6.0脚本,可以在Windows上很好地工作。但是当我在bash中运行它时,出现语法错误。这是代码:
import itertools
lines=["Hamlet","William Shakespeare","Edited Barbara B Mowat Paul Werstine","Michael Poston Rebecca Niles","Folger Shakespeare Library","httpwwwfolgerdigitaltextsorgchapter5playHam","Created Jul 31 2015 FDT version 092","Characters Play","line 17 POLONIUS father Ophelia Laertes councillor King Claudiusthis line substituted GHOST"]
LinesMap=dict()
for line in lines:
list=[l for l in line.split(' ')]
d = dict(itertools.zip_longest(*[iter(list)] * 2, fillvalue=None))
LinesMap = {**LinesMap, **d}
print(LinesMap)
这是错误:
[reza@localhost ~]$ python New\ Text\ Document.py
File "New Text Document.py", line 16
LinesMap = {**LinesMap, **d}
^
SyntaxError: invalid syntax
答案 0 :(得分:0)
尝试
python3 New\ Text\ Document.py
Bash使用python 2来运行它。
答案 1 :(得分:0)
在许多Linux发行版中,python
指的是Python 2,您需要使用python3
来运行Python 3脚本。
根据您的发行版,您应该能够yum
或apt-get
使用Python 3的软件包,该软件包可以与Python 2很好地共存,部分是由于决定对可执行文件使用不同的名称
更详细地讲,apt-get install -y python3
(可能与sudo
或询问您的管理员)应该在基于Debian的平台(Mint,Ubuntu,您拥有什么)上安装Python 3;和yum install python36
应该在各种基于RPM的平台(Fedora,CentOS等,同样可能是sudo
或类似的东西)上安装Python 3.6。