Python 实践心得 —— 中英混杂的字符串对齐输出

Python 实践心得 —— 中英混杂的字符串对齐输出

第一次写技术博客,Python刚刚开始学习写的不好请多指教。

据说程序猿都有点强迫症

听说Python的爬虫很厉害,于是学习着,第一次实践去爬了个起点网的网页下来。

起点网爬下来的源码

代码如下,小白写的很渣。。。正则什么的真的好难记啊

# -*- coding:utf-8 -*-

# ======================= 库导入 ============================
import urllib
import re
# ======================= 网络参数 ===========================
# 查询网址
url = "http://a.qidian.com"

# 正则字段
target = r'target="_blank" data-eid="qd_B58" data-bid=".*?">(.*?)</a></h4>.*?' \
         r'<p class="update"><span >(.*?)</span>.*?' \
         r'target="_blank" data-eid="qd_B60">(.*?)</a>'


# ======================== 主程序 ============================
resp = urllib.urlopen(url).read()           # http响应
print resp
assert isinstance(resp, basestring)         # 确定是否有正确的回应

reg = re.compile(target, re.S)              # 编译正则表达式
names = re.findall(reg, resp)               # re模块查找
print '一共有',len(names), '个结果\n'

for i in names:                             # 遍历输出
    print
    for j in range(0, len(i)):
        sys.stdout.write(i[j])

然后试着用正则表达式抓取了书名、字数、分类下来,输出如下:

这里写图片描述

结果,恩,好像挤一起不是很好看


嗯,加空格或者制表符试试

加上空格试试看。根据设定的字符长度格式,检测需要输出的字符串长度,找到两者的差值,用空格补上。

这里可以用format或者ljust(靠左对齐)、rjust(靠右对齐)调教
下面的代码能让如下的字符串向左对齐,长度限定30,不够的在右侧填充‘-’(不填默认参数是空格)

str = 'This is a string.'
str.ljust(30,'-')
# 输出:
# This is a string.

主程序改成了:

# ========================
  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值