读取.py时显示SyntaxError: unexpected character after line continuation character
@(python入门)
[TOC]
问题
处于Python交互界面,用python读取文件时,出现SyntaxError: unexpected character after line continuation character。
而处于命令行模式,直接使用
python hellow.py
可以成功执行程序。
解决过程
在发现无论文件存在与不存在的时候,都会出现SyntaxError: unexpected character after line continuation character(语法错误:行连续字符后的以外字符)的错误,这就表明错误和文件没有关系,而可能的原因是:
- 代码有问题。
- 代码相同的地方有问题,比如语法问题、大小写问题、路径输入格式问题。
然而经过排查,大小写、路径输入问题被排除,依然会报错。语法问题因为知识水平不足,所以不能做出判断。
- 代码相同的地方有问题,比如语法问题、大小写问题、路径输入格式问题。
- 代码之外的问题。
- Python需要调用包才能在交互界面加载.py文件,而我的电脑中没有这个包
- Python不能执行调用.py的命令。
- win系统没有设置完全,导致读取.py的命令不能执行。
2.1 我所读的基础教程中没有提到需要特别加载包,同时教程中可以执行成功。如果需要额外调用包的话,基础教程是必然会给出信息的,所以排除。
2.2 基础教程中成功执行了,所以排除。
2.3 首先在win的设置中把Python添加到了path中,重启Python以及电脑后依然报错,排除。然后再添加到path的基础上,用管理员身份打开Python,看是否和R中一样,存在权限不足无法读取文件的问题,依然报错,排除。
截止到这里,我已经很绝望,因为google和baidu看上去没有出现特别有用的信息和解决方案,一度想放弃这个教程,从官方的Tutorial开始,企图通过逃避来解决这个问题。但是我还是不想放弃,因为过后可能还会出现类似的问题,所以我重新阅读了基础教程,看到了不一样的东西——“命令行模式和Python交互模式”,注意到“在命令行模式运行.py
文件和在Python交互式环境下直接运行Python代码有所不同。Python交互式环境会把每一行Python代码的结果自动打印出来,但是,直接运行Python代码却不会。”也就是说,可能在交互界面不能直接执行调用.py文件的命令,只能在命令行模式中调用。然后我在cmd中尝试了一下,程序被成功执行了,没有报错。
到这里,我认为已经解决了这个问题了,真的是这样么?
原因
执行一个.py文件只能在命令行模式中执行。(这是结论不是原因。)
Python交互模式中,代码是输入一行,执行一行,而命令行模式下直接运行.py文件是一次性执行该文件内的所有代码。即使说,交互模式方便攻城狮们调试Python代码。