命令行输入字符串类型变量与python字符串类型

命令行输入字符串类型变量与python字符串类型,python,linux,string,shell,csv,Python,Linux,String,Shell,Csv,我有以下python代码: #!/usr/bin/env python3 import sys for line in sys.stdin: line = line.strip().split(',') airline_id = line[1] origin = line[3] dest = line[8] print(airline_id) print(type(airline_id)) test = "WN&q

我有以下python代码:

#!/usr/bin/env python3

import sys


for line in sys.stdin:
    line = line.strip().split(',')
    airline_id = line[1]
    origin = line[3]
    dest = line[8]
    
    print(airline_id)
    print(type(airline_id))
    test = "WN"
    print(type(test))
    print(airline==test)
这表明:

"WN"
<class 'str'>
<class 'str'>
False
“WN”
假的

为什么会这样?为什么这两个不相等?python字符串和命令行字符串之间有什么区别吗?

为了说明那个家伙在上面的评论中说了什么:

echo '2,"WN",1,2,3,4,5,6,7,8' | python airline.py 
"WN"
<class 'str'>
<class 'str'>
False
echo '2,WN,1,2,3,4,5,6,7,8' | python airline.py 
WN
<class 'str'>
<class 'str'>
True
echo 2,WN,1,2,3,4,5,6,7,8 | python airline.py 
WN
<class 'str'>
<class 'str'>
True
echo 2,"WN",1,2,3,4,5,6,7,8 | python airline.py 
WN
<class 'str'>
<class 'str'>
True
echo'2,“WN”,1,2,3,4,5,6,7,8'| python airline.py
“WN”
假的
echo'2,WN,1,2,3,4,5,6,7,8'| python airline.py
WN
真的
echo 2,WN,1,2,3,4,5,6,7,8 | python airline.py
WN
真的
echo 2,“WN”,1,2,3,4,5,6,7,8 | python airline.py
WN
真的

您是否正确复制了此文件?你是说打印(airline.id)还是打印(airline\u id)?如果没有'airline'的属性'id',这应该会出错哦,不,我在StackOverflow文本编辑器中编辑了airline_id,以提供更多上下文。我更改了它的
airline\u id
长度为四个字符,因为它的两端都包含一个双引号字符。解析
csv
文件并不像听起来那么容易。改用
csv
模块