命令行输入字符串类型变量与python字符串类型
我有以下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
#!/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
模块