所以我有一张公司提供的智能卡,看起来像带有芯片的信用卡。该卡插入读卡器后即可登录网站。
现在我必须用 python 编写一个程序,它可以读取卡并使用Requests
模块登录该网站。我试图找出如何使用 python 脚本从卡中检索此身份验证数据,然后使用此数据,但我部分成功。我安装了pyscard
:
from smartcard.System import readers
from smartcard.util import toHexString
r=readers()
print(r)
connection = r[0].createConnection()
connection.connect()
SELECT = [0xA0, 0x88, 0x00, 0x00] # CLA, INS, P1, P2
DF_TELECOM = [ 0x02, 0x7F, 0x10] # Lc, Data, Le
data, sw1, sw2 = connection.transmit( SELECT + DF_TELECOM )
Run Code Online (Sandbox Code Playgroud)
到目前为止,我能够传输数据并从卡中检索一些数据。我在 INS 中发送了命令 88 (来源:ISO 7816),该命令用于某种内部身份验证(我假设此身份验证数据用于登录网站),但我得到以下响应:
data = []
sw1 = 110
sw2 = 00
Run Code Online (Sandbox Code Playgroud)
我在 ISO 7816 中找不到此响应的含义。有人可以告诉我是否有正确的方法或提示从这里继续进行?简而言之,我想知道如何使用python脚本和智能卡登录网站?
我有一个表单视图,如下所示:
xml 看起来像这样:
<notebook>
<page>
<group string="In case of student employee or intern">
<field name="immatriculation" attrs="{'readonly':True}"/>
<field name="studentStatus" attrs="{'readonly':True}"/>
<field name="studentQuestionnaire" attrs="{'readonly':True}"/>
<field name="studentOtherjobs" attrs="{'readonly':True}"/>
</group>
</page>
</notebook>
Run Code Online (Sandbox Code Playgroud)
我想增加这些字段的宽度,以便所有文本(例如学生身份确认(强制实习))都位于一行中。我在下面尝试过,但没有看到宽度有任何变化:
<field name="studentStatus" attrs="{'readonly':True}" style="width:200px"/>
Run Code Online (Sandbox Code Playgroud)
更改组内这些字段的宽度的正确方法是什么?
蟒蛇:3.5
IDE : 可视化代码
平台:win 10 64位
首先我创建了一个虚拟环境_kerasVenv
,然后激活环境,然后pandas
使用pip
.
这是我的目录结构:
我在Exercise files
文件夹中添加了一个 python 脚本,我试图在其中使用 Pandas 读取 .csv 文件
test= pd.read_csv('test.csv', encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)
.csv 文件和 python 脚本在同一个文件夹中,所以错误的路径不是问题。但我收到以下错误:
Unable to open 'parsers.pyx': Unable to read file (Error: File not found (c:\users\anubhav.jhalani\downloads\ex_files_building_deep_learning_apps\pandas\_libs\parsers.pyx)).
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么python在c:\users\anubhav.jhalani\downloads\ex_files_building_deep_learning_apps
文件夹中寻找pandas以及为什么文件pandas
夹中的原始文件夹中不存在parsers.pyx文件_kerasVenv
吗?我怎样才能摆脱这个错误?
更新:我在悬停import pandas as pd
声明时发现它正在c:\users\anubhav.jhalani\downloads\ex_files_building_deep_learning_apps
. 为什么会发生?
我有以下几行:
/begin MEASUREMENT MSM_Struct.ANYNAME"Status ASC"
Run Code Online (Sandbox Code Playgroud)
我想ANYNAME
从线路中找出来。我尝试了以下表达式:
_regex_struct = re.compile(r'/begin MEASUREMENT MSM_Struct.[\w]+')
Run Code Online (Sandbox Code Playgroud)
使用group(0)
给了我这个输出:
/begin MEASUREMENT MSM_Struct.ANYNAME
Run Code Online (Sandbox Code Playgroud)
如何进入ANYNAME
输出?
我使用此链接访问了我的客户端页面
http://XX.XX.XX.XX/project/client.php
Run Code Online (Sandbox Code Playgroud)
.它有几行javascript和html但它根本不起作用.但是当我使用此链接访问我的客户端页面时
http://localhost/project/client.php
Run Code Online (Sandbox Code Playgroud)
, 有用.我知道我应该在javascript代码中更改但我不知道是什么.所以请告诉我.这是我的客户端代码:
<html>
<head>
<style>
#chatlog {width:440px; height:200px; border:1px solid;overflow:auto;}
#userslog {width:440px; height:200px; border:1px solid;overflow:auto;}
#msg {width:330px; height:100px;}
</style>
<script>
function initialize(){
var host = "ws://localhost:12345/project/server3z.php";
try{
socket = new WebSocket(host);
chatlog('WebSocket - status '+socket.readyState);
socket.onopen = function(event){chatlog("WebSocket status "+this.readyState); };
socket.onmessage = function(event){ chatlog(event.data); };
socket.onclose = function(){ chatlog("WebSocket status "+this.readyState); };
socket.onerror = function(event){chatlog("Error :"+event.data); };
}
catch(err){ chatlog(err); }
}
function send()
{
var chat;
chat= document.getElementById("msg").value;
if(!chat){ alert("Message can not be empty"); …
Run Code Online (Sandbox Code Playgroud) 我有2条字典的python列表。第一个python列表如下所示:
l1= [{'compu_method': 'ROTACC', 'aufloesung': '1024'},
{'compu_method': 'TMPOUTS', 'aufloesung': '1'}]
Run Code Online (Sandbox Code Playgroud)
第二个python列表如下所示:
l2= [{'signal_name': 'XXXX', 'compu_method': 'ROTACC', 'min_wert': '-500', 'max_wert': '500'},
{'signal_name': 'YYYY', 'compu_method': 'TMPOUTS', 'min_wert': '-70', 'max_wert': '184'},
{'signal_name': 'ZZZZ', 'compu_method': 'TMPOUTS', 'min_wert': '-70', 'max_wert': '184'}]
Run Code Online (Sandbox Code Playgroud)
这两个列表都具有compu_method公用的。我想要从 第二个列表中存在的所有compu_method的第一个列表中获取aufloesung。我想要一个这样的最终清单:
[{'signal_name': 'XXXX', 'compu_method': 'ROTACC', 'min_wert': '-500', 'max_wert': '500','aufloesung': '1024'},
{'signal_name': 'YYYY', 'compu_method': 'TMPOUTS', 'min_wert': '-70', 'max_wert': '184','aufloesung': '1'},
{'signal_name': 'ZZZZ', 'compu_method': 'TMPOUTS', 'min_wert': '-70', 'max_wert': '184','aufloesung': '1'}]
Run Code Online (Sandbox Code Playgroud)
我尝试了下面的代码,但没有给出所需的输出:
from collections import defaultdict
d = defaultdict(dict)
for …
Run Code Online (Sandbox Code Playgroud)