标签: syntax-error

我的除外有什么问题?

我的上面有一个SyntaxError,除了:

try:
    opts, args = getopt.getopt(sys.argv[1:], 'P:D:H:d:u:p:nvhmJi:c:Ml:TB:',
            ['host=', 'port=', 'directory=', 'user=', 'password=',
             'daemon=', 'noauth', 'help', 'verbose', 'mysql', 
             'icounter=', 'config=', 'nolock', 'nomime', 'loglevel', 'noiter',
             'baseurl='])
except getopt.GetoptError, e:
    print usage
    print '>>>> ERROR: %s' % str(e)
    sys.exit(2)
Run Code Online (Sandbox Code Playgroud)

我收到错误:

File "main.py", line 199

except getopt.GetoptError, e:

SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

任何人都有任何想法?

python exception-handling syntax-error except

23
推荐指数
2
解决办法
6万
查看次数

为什么相等在 Python 中似乎不是对称关系?

我正在学习比较运算符,并且我正在玩 True 和 False 语句。我在 Python shell 中运行了以下代码:

not(5>7) == True
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,这返回了True。但是,我然后运行了以下代码:

True == not(5>7)
Run Code Online (Sandbox Code Playgroud)

并且出现了语法错误。这是为什么?如果第一行代码是有效的语法,那么第二行代码肯定也应该是有效的。我哪里错了?

(提供一点背景知识,我的理解是=在Python中仅用于变量赋值,而==与数学符号'='密切相关。)

python syntax-error comparison-operators

23
推荐指数
1
解决办法
1322
查看次数

为什么三元运算符中的逗号会在JavaScript中引发语法错误?

当我尝试在条件(三元)运算符中使用逗号运算符进行日志记录时,我注意到了一些奇怪的事情.这是一个人为的例子:

const a = 2;
const b = 1;
a > b ? console.log(a), a : b; //I expect this to log and evaluate to a
Run Code Online (Sandbox Code Playgroud)

但相反,我遇到了这个:

Uncaught SyntaxError: Unexpected token ,
Run Code Online (Sandbox Code Playgroud)

根据MDN文档,条件运算符接受两个表达式作为三元运算符的"if"和"else"情况,而逗号运算符理论上是表达式,

逗号运算符计算其每个操作数(从左到右)并返回最后一个操作数的值.

那我为什么会出现语法错误?逗号运算符是一个表达式,应该允许它在条件运算符中.虽然,在逗号的操作数周围加括号可以正常工作:

a > b ? (console.log(a), a) : b; //Logs and gives a
Run Code Online (Sandbox Code Playgroud)

为什么这样可行?圆括号(或分组运算符)允许解释者知道它在处理一个表达式,但console.log(a), a已经无需括号的表达,所以为什么我得到一个语法错误,没有他们?

javascript ternary-operator syntax-error language-lawyer ecmascript-6

22
推荐指数
1
解决办法
1008
查看次数

为什么带注释的变量不能是全局的?

跑步

def function():
    global global_values
    global_values: str = []
Run Code Online (Sandbox Code Playgroud)

给出

SyntaxError: annotated name 'global_values' can't be global
Run Code Online (Sandbox Code Playgroud)

这有什么原因吗?

global-variables syntax-error python-3.x

22
推荐指数
2
解决办法
8186
查看次数

命令里面的if语句的bash脚本

我有以下行作为更大的bash脚本的一部分:

if [ `packages/TinySVM-0.09/bin/svm_learn 2>&1| grep TinySVM | wc -l | cut -c0-7 | sed 's/^  *//g'` -eq 1 ] 
Run Code Online (Sandbox Code Playgroud)

在运行脚本时,我得到:

./install.sh:219行:[: - eq:一元运算符预期

其中219行是上面的行.有什么修复建议吗?

bash conditional if-statement syntax-error

21
推荐指数
5
解决办法
6万
查看次数

Python无法处理以0开头的数字字符串.为什么?

我刚刚在我的python解释器上执行了以下程序:

>>> def mylife(x):
...     if x>0:
...             print(x)
...     else:
...             print(-x)
... 
>>> mylife(01)
File "<stdin>", line 1
mylife(01)
        ^
SyntaxError: invalid token
>>> mylife(1)
1
>>> mylife(-1)
1
>>> mylife(0)
0
Run Code Online (Sandbox Code Playgroud)

现在,我已经看到了这个,但正如链接所说,对于八进制的0在python中不再起作用(即在python3中不起作用).但这不意味着应该正确解释以0开头的数字的行为吗?在base-2中还是在正常的base-10表示中?既然不是这样,为什么python表现得那样呢?这是一个实施问题吗?或者这是一个语义问题?

python syntax-error python-3.x

21
推荐指数
2
解决办法
8003
查看次数

Python 3.2 Lambda语法错误

def sort_dictionary( wordDict ):
    sortedList = []
    for entry in sorted(wordDict.iteritems(), key = lambda (k, v): (-v, k) ):
        sortedList.append( entry )

    return sortedList
Run Code Online (Sandbox Code Playgroud)

该函数将接收包含以下信息的字典:{'this':1,'is':1,'a':1,'large':2,'sentence':1}我想让它生成列表列表,其中元素首先由字典的值从最大值到最小值排序,然后按字母顺序排列.

使用python 2.7.2运行时该函数工作正常,但我收到错误:

  File "frequency.py", line 87
    for entry in sorted(wordDict.iteritems(), key = lambda (k, v): (-v, k)):
                                                           ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

当我用python 3.2.3运行程序时.我一直在寻找原因,或2.7和3.2之间的语法差异,并且没有提出任何结果.任何帮助或修复将不胜感激.

python lambda syntax-error

21
推荐指数
1
解决办法
3万
查看次数

无法让ASCII艺术回显到控制台

我是Bash脚本的新手,这对我来说很困惑.我正在为项目添加ASCII艺术,似乎无法弄清楚如何逃避某些字符.有人请帮助我下面的代码工作吗?

每当我尝试添加斜杠作为转义字符来修复错误时,斜杠也会在执行时打印到控制台.这破坏了形象.我不明白我做错了什么,所以我发布了下面的代码,希望有人花一点时间向我展示正确的方法.请?我删除了引号以防止更混乱.

echo -en "\E[31m"
echo
echo       _,.
echo     ,` -.)
echo    '( _/'-\\-.              
echo   /,|`--._,-^|          ,    
echo   \_| |`-._/||          ,'|      
echo     |  `-, / |         /  /     
echo     |     || |        /  /      
echo      `r-._||/   __   /  / 
echo  __,-<_     )`-/  `./  /
echo '  \   `---'   \   /  /
echo     |           |./  / 
echo     /           //  /    
echo \_/' \         |/  /        
echo  |    |   _,^-'/  /             
echo  |    , ``  (\/  /_       
echo   \,.->._    \X-=/^        
echo   ( …
Run Code Online (Sandbox Code Playgroud)

bash scripting ascii syntax-error

21
推荐指数
1
解决办法
2万
查看次数

构造函数的初始化列表中的'this'指针

我想我无法理解为什么这不起作用.我一直以为我可以在构造函数中使用'this'指针,但我从来不知道我不能在初始化列表中使用'this'.

#include <iostream>

class A {
    public:
        int a;
        int b;
        A(int a = 0, int b = 0) : this->a(a), this->b(b) { }
        void print() {
        std::cout << a << ", " << b << std::endl;
    }
};

int main() {
    A a;
    a.print();
}
Run Code Online (Sandbox Code Playgroud)

我很想知道与之相关的细节.

c++ this syntax-error language-lawyer ctor-initializer

21
推荐指数
2
解决办法
2191
查看次数

Nodemailer错误无法修复

我有一个非常简单的应用程序,只是开始弄脏nodemailer.当我运行应用程序时,我在模块本身中遇到错误.

app.js:

const nodemailer = require('nodemailer');

const transporter = nodemailer.createTransport('smtps://me%40gmail.com:supersecretpw@smtp.gmail.com');


var mailOptions = {
    from:    '"Me" <me@gmail.com>', // sender address
    to:      'him@him.com, her@her.com', // list of receivers
    subject: 'Hello dude', // Subject line
    text:    'Test email with text', // plaintext body
    html:    "Testing 1..2..7" // html body
};

// send mail with defined transport object
transporter.sendMail(mailOptions, function (error, info) {
    if (error) {
        return console.log(error);
    }
    console.log('Message sent: ' + info.response);
});
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

C:\Users\Andrew\desktop\messy4\node_modules\nodemailer\lib\mailer\index.js:31
            compile: [(...args) => this._convertDataImages(...args)],
                       ^^^

SyntaxError: …
Run Code Online (Sandbox Code Playgroud)

javascript syntax-error node.js npm nodemailer

20
推荐指数
1
解决办法
1万
查看次数