平时工作中经常需要用到这些python小技巧,顺便做个记录
import requests
import time def get_pr(domain):
pr = 6
time.sleep(1)
html = requests.get("http://pr.web3389.com/pr/%s" % domain.strip())
string = html.text
key = "images/pr1/Rank_"
ipos = string.find(key)
pr = string[ipos+ len(key):]
pr = pr[:1]
try:
if int(pr) < 5:
pr = 5
except:
pr = 5
n = int(pr) - 4
tmp = 10 * 10**(n)
count = tmp + count with open('domain_date.txt') as f:
for line in f.readlines():
url = line.split(' ')[0]
month = line.split(' ')[-1].split('-')[1]
try:
pr = get_pr(url)
except:
pass
print(pr,url,month) fuck = '{}:{}:{}'.format(url,month,pr)
with open('new_domain.txt','a') as file:
file.writelines(fuck + ‘\n’)

  

对字典value进行排序
import operator diaosi = {}
with open('all.txt', 'r', encoding="utf-8") as f:
for line in f.readlines():
country = line.split(':')[0]
pr_value = int(line.split(':')[-1].lstrip().strip())
print(country) diaosi.update({country: pr_value}) sorted_x = sorted(diaosi.items(), key=operator.itemgetter(1), reverse=True) with open('fuck.txt', 'a+', encoding="utf-8") as file:
for line in sorted_x:
file.writelines(line[0] + ':' + str(line[1]) + '\n')
对字典key进行排序: sorted_x = sorted(diaosi.items(), key=operator.itemgetter(0))
对keys存在的,对value进行相加
with open('new_domain.txt') as f:
diaosi = {}
for line in f.readlines():
month = int(line.split(':')[1])
pr = line.split(':')[-1].strip()
value = int(diaosi.get(str(month), "0")) + int(pr)
diaosi.update({str(month): value})
print(diaosi)
def has_primary_key():
for row in rows:
if row[1] == 0 and row[9] != 'YES':
return True
return False
非常的简单,但是,如果我们使用any函数的话,代码将会更短。如下所示:
def has_primary_key():
return any(row[1] == 0 and row[9] != 'YES' for row in rows):
刚开始学Python时候帮同事写的一个需求,这几天看看pythonic果然还有更好的写法
# 以长度为统计分别放入不同的列表中
for url in urls:
url_len = str(len(url))
if url_len in url_list:
url_list[url_len].append(url)
else:
url_list[url_len] = [url] defaultdict实现:
d = defaultdict(list)
for key, value in pairs:
d[key].append(value)
去重复,不改变顺序:

l1 = ['b','c','d','b','c','a','a']
l2 = sorted(set(l1),key=l1.index)
print l2 奇技淫巧倒算不上,有些时候确实是挺有用的!
list_ = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
把list_合并为[1, 2, 3, 4, 5, 6, 7, 8, 9]
[k for i in list_ for k in i]
可以这样:
items = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, items))

  

#coding:utf-8

for line in range(1,255):
with open('1.txt','a') as f:
f.writelines('192.168.128.{}'.format(line)+'\n')

  

  

  

 

  

  

python常见问题解决方案的更多相关文章

  1. 使用jquery.qrcode生成二维码及常见问题解决方案

    转载文章  使用jquery.qrcode生成二维码及常见问题解决方案 一.jquery.qrcode.js介 jquery.qrcode.js 是一个纯浏览器 生成 QRcode 的 jQuery ...

  2. JWT 身份认证优缺点分析以及常见问题解决方案

    本文转载自:JWT 身份认证优缺点分析以及常见问题解决方案 Token 认证的优势 相比于 Session 认证的方式来说,使用 token 进行身份认证主要有下面三个优势: 1.无状态 token ...

  3. web移动端常见问题解决方案 (转)

    总结:本文总结了web移动端的常见问题并附上解决方案,包括:Meta标签.获取滚动条的值.禁止选择文本.屏蔽阴影.css之border-box.css3多文本换行.Retina屏幕高清图片.html5 ...

  4. Oracle 11g R2在 win7 64位的安装流程图解【含常见问题解决方案】

    ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一.Oracle 11 ...

  5. 移动端web常见问题解决方案

    meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 忽略将页面中的数字识别为电话号码 忽略Android平台中对邮箱地址的识别 当网站添加到主屏幕快速启动方式,可隐藏地址栏,仅针对i ...

  6. python常见问题一(安装报错)

    常见问题一:我在安装python2.7时,提示错误:'An error occurred during the installation of assembly 'Microsoft.VC90.CRT ...

  7. linux 常见问题&解决方案

    Q1: 错误重现: linux下 用tar -zxf xxx.tar.bz2 报错: gzip: stdin: not in gzip format tar: Child returned statu ...

  8. git操作之常见问题解决方案

    一.版本不一致 1. 错误信息: > git push -u origin master To ******.git ! [rejected] master -> master (non- ...

  9. Android WebView常见问题解决方案汇总

    问题目录: 1.为WebView自定义错误显示界面: 2.WebView cookies清理 3.清理cache 和历史记录 4.判断WebView是否已经滚动到页面底端 5.URL拦截 6.处理We ...

随机推荐

  1. winform Timer控件的使用

    private void button1_Click(object sender, EventArgs e){ Timer timer1 = new Timer(); timer1.Interval ...

  2. 算法 - 剪枝游戏 - Green Hackenbush

    场景:给颗树,轮流剪掉一条枝,没枝可剪的人输. 题目:Deforestation | HackerRank 讲解:Games!: Green Hackenbush 哎,差点自己想出来答案,最后还是看了 ...

  3. 字典的常见操作<二>

    <1>len() 测量字典中,键值对的个数 <2>keys 返回一个包含字典所有KEY的列表 <3>values 返回一个包含字典所有value的列表 <4& ...

  4. http协议详解之响应报文 3

    --------------响应示例--------------------------response#状态行HTTP/1.1 200 OK #协议及版本号.状态码.状态描述 #消息报头Date: ...

  5. JPA访问数据库的几种方式

    JPA访问数据库的几种方式 本文为原创,转载请注明出处:https://www.cnblogs.com/supiaopiao/p/10901793.html 1. Repository 1.1. 通过 ...

  6. 机器学习之K近邻算法

    K 近邻 (K-nearest neighbor, KNN) 算法直接作用于带标记的样本,属于有监督的算法.它的核心思想基本上就是 近朱者赤,近墨者黑. 它与其他分类算法最大的不同是,它是一种&quo ...

  7. WEB应用服务器都有哪些?

    大型WEB服务器在UNIX和Linux平台下使用最广泛的免费HTTP服务器是W3C.NCSA和APACHE服务器,而Windows平台NT/2000/2003使用IIS的WEB服务器.在选择使用WEB ...

  8. redhat7.5 替换yum源

    Redhat 7自带的yum源需要付费注册,未注册情况下会报如下错误,且用yum repolist all检查源数目为0.这时候需要将RedHat 7自带的yum源 替换成CentOS 7免费源 解决 ...

  9. Shell编程、part1

    1.shell简介 2. shell分类 3. 查看shell 4. 第一个shell脚本 5. shell编程常用命令 5.1 grep 5.2 cut 5.3 sort 5.4 uniq 5.5 ...

  10. Ubuntu环境配置机器安装驱动

    ubuntu_environment_config.md thead > tr > th { text-align: left; border-bottom: 1px solid; } t ...