1. 请问python 如何让字母和数字一 一对应 输入一个字母 可以转换为数字

因为“字母”是一个有限离散的集合,比较简单的处理方式是定义一个map:

letter_to_number={'A':1,'B':2}
letter='A'
number=letter_to_number[letter]#number=1

另外,如果这个内转换关容系恰好跟字母的ascii码值有某种函数关系的话,也可以这样:

letter='A'
number=ord(letter)-ord('A')+1#number=1

2. 怎么用http上传一个文件到服务器 python

首先,标准HTTP协议对上传文件等表单的定义在这里:wwwietforg/rfc/rfc1867txt 大概数据包格式如下:

单文件:

Content-type: multipart/form-data, boundary=AaB03x

--AaB03x
content-disposition: form-data; name="field1"

Joe Blow
--AaB03x
content-disposition: form-data; name="pics"; filename="file1.txt"
Content-Type: text/plain

... contents of file1.txt ...
--AaB03x--
多文件:

Content-type: multipart/form-data, boundary=AaB03x

--AaB03x
content-disposition: form-data; name="field1"

Joe Blow
--AaB03x
content-disposition: form-data; name="pics"
Content-type: multipart/mixed, boundary=BbC04y

--BbC04y
Content-disposition: attachment; filename="file1.txt"
其次,python上传文件的几种方法:

1 自己封装HTTP的POST数据包:http//stackoverflowcom/questions/680305/using-multipartposthandler-to-post-form-data-with-python

import httplibimport mimetypesdef post_multipart(host, selector, fields, files): content_type, body = encode_multipart_formdata(fields, files) h = httplib.HTTP(host) h.putrequest('POST', selector) h.putheader('content-type', content_type) h.putheader('content-length', str(len(body))) h.endheaders() h.send(body) errcode, errmsg, headers = h.getreply() return h.file.read() def encode_multipart_formdata(fields, files): LIMIT = '----------lImIt_of_THE_fIle_eW_$' CRLF = '\r\n' L = [] for (key, value) in fields: L.append('--' + LIMIT) L.append('Content-Disposition: form-data; name="%s"' % key) L.append('') L.append(value) for (key, filename, value) in files:

3. Python 查找循环字符串 原始字符串是:aabaacaabaa

不知道你抄所谓的最长循环是指什么。

#python3
defBord(s):
returns[:len(s)//2]

s='aabaacaabaa'
whileTrue:
print('Bord(%s)='%s,end='')
s=Bord(s)
print(s)
ifnots:break

[willie@localhost pys]$ python3 findstring.py

Bord(aabaacaabaa) = aabaa

Bord(aabaa) = aa

Bord(aa) = a

Bord(a) =

4. 在python中,列表,字典的相互转换

列表、元组、集合、字典相互转换
一、列表元组转其他
1、列表转集合(去重)
list1
=
[6,
7,
7,
8,
8,
9]
set(list1)
#
{6,
7,
8,
9}
2、两个列表转字典
list1
=
['key1','key2','key3']
list2
=
['1','2','3']
dict(zip(list1,list2))
#
{'key1':
'1',
'key2':
'2',
'key3':
'3'}
3、嵌套列表转字典
list3
=
[['key1','value1'],['key2','value2'],['key3','value3']]
dict(list3)
#
{'key1':
'value1',
'key2':
'value2',
'key3':
'value3'}
4、列表、元组转字符串
list2
=
['a',
'a',
'b']
''.join(list2)
#
'aab'
tup1
=
('a',
'a',
'b')
''.join(tup1)
#
'aab'
二、字典转其他
1、
字典转换为字符串
dic1
=
{'a':1,'b':2}
str(dic1)
#
"{'a':
1,
'b':
2}"
2、字典key和value互转
dic2
=
{'a':
1,
'b':
2,
'c':
3}
{value:key
for
key,
value
in
a_dict.items()}
#
{1:
'a',
2:
'b',
3:
'c'}
三、字符串转其他
1、字符串转列表
s
=
'aabbcc'
list(s)
#
['a',
'a',
'b',
'b',
'c',
'c']
2、字符串转元组
tuple(s)
#
('a',
'a',
'b',
'b',
'c',
'c')
3、
字符串转集合
set(s)
#
{'a',
'b',
'c'}
4、字符串转字典
dic2
=
eval("{'name':'ljq',
'age':24}")
5、切分字符串
a
=
'a
b
c'
a.split('
')
#
['a',
'b',
'c']

5. python使用oracle查询数据库,查询语句中使用变量值

ROWID值的%s 需要单引号

6. aab=2004怎么计屏算

后门,危害级别:1,
说明:中国的名字 - “后门”是指下一个不允许用户不知道被感染系统上的情况来运行的隐蔽系统可以感染远程控制和用户无法通过正常的方法禁止其运行。 “后门”木马实际上是一个特殊的情况下,它们之间的区别在于“后门”到被感染系统可以进行远程控制(如:文件管理,进程控制等)。

蠕虫危害等级:2,

说明:中国的名字 - “虫”是指在系统中,发送的邮件,共享目录,利用漏洞可软件传输文件(如:MSN, OICQ,IRC等),可移动存储介质(如:U盘,软盘),这些方式传播自己的病毒。这种类型的病毒亚型的病毒传播的它的行为模式是用来指示使用的类型。

邮件,危害级别:1说明:2,描述:暧昧由承运人或多个载波传播他们清楚

MSN,危害级别:3说明通过邮件

IM,危害级别蔓延:4说明:

ICQ传播通过OICQ危害级别:通过MSN

QQ,危害级别蔓延5,说明:6,说明:通过P2P传播通过ICQ

P2P,危害级别蔓延软件

IRC,危害级别:7说明:通过ICR传播

其他说明:不依赖于其它的通信手段通信软件,如:在系统中利用漏洞,共享目录,可移动存储介质。

木马,危险级别:3说明:中国的名字 - “特洛伊木马”指下不允许用户不知道在隐藏模式下运行被感染系统上的情况,并且用户无法通过正常的方式禁止其操作。该病毒通常都有利益目的,其目的是儿童行为有利于病毒。

间谍,危害级别:1,说明:窃取用户信息(如文件等)

PSW,危害级别:2,说明:一个窃取密码的行为

DL,危害级别:3,说明:下载并运行病毒,以确定条款:没有可调出的任何界面,逻辑功能:从一个网站加载或运行事件逻辑条件下载的文件:。

事件1。无法下载或下载的文件不能被判断为病毒,操作准则:该文件不符合软件的一般条款确定功能组件,确定为:。 Trojan.DL

事件2下载的文件是病毒,操作准则:下载的文件是病毒,确定为:Trojan.DL

IMMSG,危害级别:4说明:通过即时消息或蔓延运营商目前尚不清楚明确的多载波(这个行为与蠕虫病毒的不同传播特性,该蠕虫是传播病毒自己,木马只是传播消息)

MSNMSG,危害级别:5,说明:通过MSN即时通讯 QQMSG,危害级别:6说明:通过即时消息传播的OICQ ICQMSG,危害级别:7说明:8说明:通过ICQ即时通讯

UCMSG,危害级别加州大学传播蔓延通过即时通讯 BR />代理,危害级别:9,说明:将被感染的计算机作为代理服务器

唱首歌,危害等级:10说明:点击指定的页面上,确定条款:没有可调出的任何界面,逻辑功能:单击网页上。

操作准则:该文件不符合软件的一般条款确定功能组件,确定为:Trojan.Clicker。

(该文件确定功能组件符合正常软件的条款,该软件确定参考无赖流氓软件判定规则)

拨号,危害级别:12,说明:钱拨程序注欺骗:不是符合他们的利益,但描述与木马病毒行,你不必

AOL,通知中描述一个特定的子行为,根据保留命名的原病毒的基本特征的目的。

病毒,危害级别:4说明:中国的名字 - “传染性病毒”是指病毒代码到受感染的主机文件(如:PE文件,DOS下的COM文件,VBS文件,具有可运行宏的文件) ,并运行病毒代码,即可获得主办病毒感染的文件的权限运行。

危害,危害级别:5,说明:中国的名字 - “破坏性程序”,是指那些谁不扩散运行后感染不直接破坏本地计算机(如:格式化硬盘,大量的删除文件等)导致程序到本地计算机无法正常使用。

滴管,危害级别:6说明:中国的名字 - “病毒程序释放”是指不正常的或自解压安装程序的一部分,该病毒释放后运行,并运行它们。

判定条款:没有可调出的任何界面,逻辑功能:自释放文件加载或运行。事件触发

逻辑条件:

事件1:该文件是不是病毒的释放。操作指南:文件和拯救者本身的释放,而不是文件的逻辑不符合软件的一般条款确定功能组件,确定为:Droper

事件2:由病毒释放的文件。操作指引:文件释放病毒,确定该文件是否是:Droper

哈克,危害级别:无,说明:中国的名字 - “黑客工具”是指在本地计算机可以是一个工具来攻击其他计算机通过网络。

漏洞,漏洞探测攻击工具

DDoser,拒绝服务攻击工具

泛洪,洪水攻击工具,注意事项:用相关软件尚不清楚黑客攻击,你不进行具体的子说明

垃圾邮件,垃圾邮件

的nuker,嗅探器,欺骗者,反,说明:免杀黑客工具

活页夹,危害级别:无,说明:捆绑正常病毒工具

软件功能的标志条款:文件在体内以下信息进行审查可以识别该文件是软件组件的正常功能:文件的版本信息,软件信息(注册表键值,安装目录)等。

主机文件hosts文件是由病毒的文件类型,是否显示的属性。目前,有几个hosts文件。

JS说明:JavaScript的脚本文件

VBS说明:VBScript脚本文件

html说明:HTML文件

爪哇简介:Java Class文件

COM说明:的COM Dos下 BR /> EXE文件描述:exe文件
引导说明:硬盘或软盘的引导扇区

字描述:微软Word文件的描述

Excel中:MS Excel文件的

PE说明:PE文件

WinReg项说明:注册表文件

红宝石描述:一个脚本

Python的描述:一个脚本

英美烟草公司简介:BAT脚本文件 IRC说明:IRC脚本

主名称是病毒通过基于病毒体字符串,特定的行为或曾经是编译平台的主要特点分析师的名字,如果它不能确定您可以使用字符串“代理”,而不是奉主的名,小于10K的文件大小可以命名为“劳工处。”。

版本只允许为数字版本,版本信息是不明确无版本信息。号

名称

如果病毒类型,行为类型的主要变化的行为,宿主文件类型,主名称是相同的,那就是病毒同一个家庭,那么需要区分病毒,序号记录的不同变种之间。如果版本号是不够的,最多可以扩展到三个,都是小写字母AZ,如:AA,AB,AAA,AAB左右。由系统自动计算,无需手工输入或选择。

隶属于辅助功能

文件名可以被用来运行病毒,通常是添加到病毒数据库中的病毒,这种类型的病毒记录需要用的病毒体的名称心心相印病毒记录的区别。有几个子公司名称:

客户端说明:后门控制终端

KEY_HOOK说明:用于安装键盘模块

API_HOOK说明:API模块安装

安装说明:安装病毒模块

DLL的说明:该文件是一个动态库,并包含多种功能

(空)说明:没有附属名称,这条记录是病毒主体记录

子公司名称变种号如果病毒类型,行为类型的主要行为,宿主文件类型,主名称,主名称变种号,附属名称均相同,则认为是病毒的同一个家庭,那么需要变种号来区分不同的病毒记录。数变异不写字母az,如果版本号是不够的,最多可以扩展到三个,为:AA,AB,AAA,AAB左右。由系统自动计算,无需手工输入或选择。

该领域唯一的行为的主要类型为感染型(病毒)的病毒,字段为数值

病毒病毒长度长。字段的值是0,表示该病毒可变长度。

本段9的IT病毒的编辑历史

1。麋鹿克隆(1982年)

它被看作是攻击世界上第一台个人电脑病毒,但对于所有的安全问题令人头痛的先驱。它是通过苹果的Apple II软盘传播。此病毒被放置在游戏盘上,可以使用49次。在50时使用,它不运行游戏,由一个空白屏幕代替打开并显示一首短诗。

2。脑(1986年)

脑是运行微软的流行的操作系统DOS病毒,可以感染360K软盘感染病毒的第一次攻击,病毒会填满软盘上未使用的空间,而导致它不能再使用。

3。莫里斯(1988年)

莫里斯病毒程序,它的系统入侵的弱点优势,莫里斯设计的初衷不是破坏,而是要衡量网络的规模。但是,由于程序不处理周期,计算机将继续运行复制莫里斯,最终导致崩溃。

4。 CIH(1998)

CIH病毒是迄今为止最严重的破坏性病毒,是世界上第一个病毒破坏硬件。它不仅破坏了硬盘的引导扇区和分区表的发作,破坏计算机系统的BIOS,导致主板损坏。这种病毒是由台湾的陈盈豪的大学发展,他开发了这种病毒的目的据说是为了纪念1986年的灾难妨碍或使反病毒软件。

5。梅利莎(1999年)

梅丽莎是最早的病毒通过电子邮件,当用户打开电子邮件附件时,病毒会前50个地址自动发送到用户的地址簿传播的,所以这个病毒世界各地的几个小时之内。

6。爱虫(年2000)

爱的bug也可以通过附近电子邮件传播,它利用人性,把自己伪装成一封情书,以欺骗收件人打开。病毒在其速度和出其不意安全专家范围的传播。在几个小时内,这个小计算机程序在计算机系统征服全世界。

7。 “红色代码”(2001)

被认为是最昂贵的计算机病毒的历史上,在自我复制的恶意代码“红色代码”采用微软的IIS服务器漏洞利用。该蠕虫具有更恶毒的版本,被称为红色代码II。除了这两种病毒可以网站上的,被感染的系统性能将严重下降。

8。 “冲击波”(2003年)

冲击波的英文名字是冲击波,也被称为Lovsan或Lovesan会,它需要在微软软件漏洞的优势,该系统端口疯狂的攻击,可能会导致系统崩溃。

9。 “震荡波”(2004)
震荡波是Windows缺陷的蠕虫的另一个优势,震荡波可以导致计算机崩溃并重新启动不断。

7. python怎么让print只输出一个数字

你应该只在最后print n,而不是每次循环都print n。python使用缩进表示层级关系,参考专如下代码,注意print n的位置:属

x=raw_input()
n=0
foriinrange(0,len(x)-2):
ifx[i]==x[len(x)-1]:
n=n+1
printn

8. python 正则表达式.* 是什么意思 详细解释

分开来说:来
1、. 匹配任意除换行源符“\n”外的字符;
2、*表示匹配前一个字符0次或无限次;

3、+或*后跟?表示非贪婪匹配,即尽可能少的匹配,如*?重复任意次,但尽可能少重复;
4、 .*? 表示匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复。
如:a.*?b匹配最短的,以a开始,以b结束的字符串。如果把它应用于aabab的话,它会匹配aab和ab。

9. python 判断正则表达式

看了你的提问,你的要求是:

输入格式:

输入包含两行:

  1. 待匹配字符串

  2. 正则表达式

输出格式:

若正则表达式能够匹配第一行字符串则输出True,否则,输出False

以下是我依据你的功能需求,个人简单写的一些代码,供你参考:

importre

flg=True
#定义主要工作代码函数
defjobCode(txtstr,regex):
result=re.search(regex,txtstr)
#如果匹配第一行字符串flg为True,否则flg为False
ifresult.group()==txtstr:
#print(result.group())
returnflg==True#返回flg并终止循环
else:
#print(result.group())
returnflg==False#返回flg并终止循环

#程序主入口
if__name__=='__main__':
txtstr=str(input("请输入待匹配的字符串:"))
regex=input("请输入正则表达式:")
print(jobCode(txtstr,regex))#调用定义函数jobCode()

代码应该还能更简洁,具体你自己去完善。

纯手工,如果对你有帮助望点赞!

10. python2 能使用requests吗

由于公司要用到模拟用户登录,于是用学校图书馆读者登录来进行练习。

工具是python2 + requests第三方库+火狐浏览器的firebug进行http抓包

目标 用python成功登录学校图书馆

接下来几篇会利用urllib和urllib2标准库进行登录

以下为具体步骤:

1 打开学校图书馆网址,以下为登录界面


综合以上分析,利用requests库进行模拟用户登录。这里的post参数采用了之前图片的源码形式,使得参数顺序匹配

import requests

url = "http://210.32.205.60/login.aspx"
# 学校图书馆登录url
header = {"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Encoding":"gzip, deflate",
"Accept-Language":"zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
"Connection":"keep-alive",
"Content-Type":"application/x-www-form-urlencoded",
"Host":"210.32.205.60",
"Referer": "http://210.32.205.60/login.aspx",
"Upgrade-Insecure-Requests":"1",
"User-Agent":"Mozilla/5.0 (Windows NT 6.1; rv:54.0) Gecko/20100101 Firefox/54.0"
}

body = b'__VIEWSTATE=%uMtIIHXEj%&__VIEWSTATEGENERATOR=C2EE9ABB&__EVENTVALIDATION=%2FwEdAAbAeS%2BByzNg%%2FzVFQdp1z%2BnYWZ%%2BIuKmLNV%%3D%3D&DropDownList1=0&TextBox1=读者号&TextBox2=密码&ImageButton1.x=44&ImageButton1.y=12'r = requests.post(url, data=body, headers=header)

print r.text

以上为一次提交,没有进行重定向截取。

如果想用reque库截取重定向,在这个图书馆登录中则需要进行两次操作,这里相当于只做了post请求,头部,post参数都不变,只不过在requests.post()内设置了参数

r = requests.post(url, data=body, headers=header, allow_redirects=False)
# 设置 allow_redirects=False 使得禁止重定向
aspid = r.headers["Set-Cookie"] # 返回页面的头部的cookie
print r.status_code # 输出302

如果再想登陆图书馆页面,那么需要将cookie重新加入新的url上,进行get请求的提交,此时url为/Default.aspx.

url ="http://210.32.205.60/Default.aspx"
header = {
"Accept": "image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, */*",
"Referer": "http://210.32.205.60/login.aspx",
"Accept-Language": "zh-CN",
"User-Agent": "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)",
"Accept-Encoding": "gzip, deflate",
"Host": "210.32.205.60",
"Connection": "Keep-Alive",
"Pragma": "no-cache",
"Cookie": aspid
}
r = requests.get(url=url,headers=header)
print r.status_code
print r.text

接下来的几篇是利用python2的urllib2和urllib进行相同的模拟用户登录。

ps 由于urllib2处理重定向的时候不会将cookie带上,会导致页面不能正确爬取,所以要处理重定向。解决urllib重定向文章在此,分别介绍了urllib2自动处理重定向(带上cookie),和urllib2阻止重定向,返回cookie。

利用urllib2进行自动处理重定向,模拟浏览器提交post一次,就可以登录图书馆的文章在这。

利用urllib2处理重定向,使得重定向截断,获取cookie,根据cookie用代码实现重定向,登录图书馆的文章在此。