平时工作中经常需要用到这些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. ctf活动结果

    签到题:flag{0ca175b9c0f726831d895e269332461} 解题过程:使用winhex打开图片,查询到ANSI ASCII 得到结果 1.SimCTF{hello simple ...

  2. 作业要求20191010-4 alpha week 1/2 Scrum立会报告+燃尽图 02

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8747 一.小组情况组长:贺敬文组员:彭思雨 王志文 位军营 杨萍队名:胜 ...

  3. LeetCode 60. 第k个排列(Permutation Sequence)

    题目描述 给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列. 按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下: "123" "1 ...

  4. C++ Map实践

    实践如下: #include <iostream> #include <map> #include <string> #include <typeinfo&g ...

  5. emqttd学习教程(二):emqttd配置说明

    一.配置文件说明emqttd消息服务器通过 etc/ 目录下配置文件进行设置,主要配置文件包括: 配置文件 说明 etc/emq.conf 消息服务器配置文件etc/acl.conf 默认ACL规则配 ...

  6. Jmeter(十三) JDBC Request

    Jmeter中取样器(Sampler)是与服务器进行交互的单元.一个取样器通常进行三部分的工作:向服务器发送请求,记录服务器的响应数据和记录响应时间信息 有时候工作中我们需要对数据库发起请求或者对数据 ...

  7. C# 实现播放RTSP 标准协议码流播放

    http://www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtphttp://www.st ...

  8. samba安装应用实例-1

    应用实例:先安装samba软件,yum install -y samba1.需求:共享一个目录,任何人都可以访问,不用输密码,只读.(1)首先打开samba配置文件/etc/samba/smb.con ...

  9. Web08_MySQL&JDBC回顾

    数据库操作:DATABASE 查看正在使用的数据库: SELECT DATABASE(); 表操作:TABLE 修改表修改列明 ALTER TABLE 表名 CHANGE 旧列名 新列名 类型(长度) ...

  10. squid代理使用yum源

    参考文档:https://blog.csdn.net/tuolaji8/article/details/73613859https://www.centos.bz/2017/10/centos-7%E ...