0

我对 Python 和命令行都很陌生,但我正在尝试使用 Python 模块https://github.com/ckreibich/scholar.py/blob/master/README.md来获取某些来自谷歌学术的结果。经过一些更改(它找不到模块)认为我成功了import,至少我没有收到任何错误消息(但没有确认)。

但是接下来该怎么办?我尝试scholar.py -c 1 --author "albert einstein" --phrase "quantum theory"在 Python 内部和外部编写,但只收到错误消息,例如:

文件 "",第 1 行 Academic.py -c 1 --author "albert einstein" --phrase "quantum theory" ^ SyntaxError: invalid syntax

(^ 指向 1)。

使用模块的正确方法是什么?我错过了什么吗?

4

1 回答 1

1

这里的问题是你试图在 python 内部编写一个用于命令行的命令,你不能这样做,这就是你设置 `SyntaxError' 的原因

您在评论中指定的命令行中遇到的问题:

“-bash:scholar.py:找不到命令”

是因为 linux 无法运行没有可执行权限且不在PATH. 最简单的解决方案是使用 运行它python,但显然首先要确保您与文件位于同一文件夹中scholar.py,然后:

python scholar.py -c 1 --author "albert einstein" --phrase "quantum theory"

如果失败,则代码可能仅与 一起运行python3,在这种情况下尝试:

python3 scholar.py -c 1 --author "albert einstein" --phrase "quantum theory"

如果您坚持只运行不带pythonorpython3命令的脚本,您通常应该在文件开头添加“python shebang”,带有#! /usr/bin/env pythonor#! /usr/bin/env python3但我看到它已经在文件中。下一步是将文件设置为可执行文件:

chmod 770 scholar.py

或者,如果失败,请使用sudo权限更改文件权限和所有权(需要 root 权限,将“youruser”替换为您的实际用户名):

sudo chown youruser scholar.py
sudo chmod 770 scholar.py

然后你可以像这样从命令行运行它:

./scholar.py -c 1 --author "albert einstein" --phrase "quantum theory"
于 2018-06-12T09:36:59.430 回答