目录
简 介:为了方便CSDN的写作,编写CSDN写作Python类CsdnWriter,本文为 CsdnWriter 中 图片处理函数 img_url 的用法。
关键词
: CSDN、Python、CsdnWriter
基本信息
输入:
str
img_url 格式
输出:
bool
输入是否为 img_url 格式
调用格式:
w = CsdnWriter()
w.self.img_url(clipboard.paste())
clipboard.copy(w.out)
img_url 格式
img url align width [num title]
元素 | 说明 |
---|---|
img | 格式头字符(固定不可变) |
url | 图片url |
align | 对齐方式: 【l :居左 】【c :居中】【 r :居右】,默认居中(可选) |
width | 图片宽度,默认500(可选) |
num | 图片序号(可选) |
title | 图片标题(可选) |
注: 在无 num
而有 title
时,title
前需添加 ,
,详见例7
应用举例
例1:img url
img https://img-blog.csdnimg.cn/f2486684d49b4a3bbdc29ddcf5a1c146.png
输出:
<img src = https://img-blog.csdnimg.cn/f2486684d49b4a3bbdc29ddcf5a1c146.png#pic_center alt = "" width = "500">
效果:
例2:img url align
img https://img-blog.csdnimg.cn/f2486684d49b4a3bbdc29ddcf5a1c146.png r
输出:
<img src = https://img-blog.csdnimg.cn/f2486684d49b4a3bbdc29ddcf5a1c146.png alt = "" align= "right" width = "500">
效果:
例3:img url width
img https://img-blog.csdnimg.cn/f2486684d49b4a3bbdc29ddcf5a1c146.png 300
输出:
<img src = https://img-blog.csdnimg.cn/f2486684d49b4a3bbdc29ddcf5a1c146.png#pic_center alt = "" width = "300">
效果:
例4:img url align width
img https://img-blog.csdnimg.cn/f2486684d49b4a3bbdc29ddcf5a1c146.png l 200
输出:
<img src = https://img-blog.csdnimg.cn/f2486684d49b4a3bbdc29ddcf5a1c146.png alt = "" width = "200">
效果:
例5:img url align width [num]
img https://img-blog.csdnimg.cn/f2486684d49b4a3bbdc29ddcf5a1c146.png c 400 [2-3]
输出:
<img src = https://img-blog.csdnimg.cn/f2486684d49b4a3bbdc29ddcf5a1c146.png#pic_center alt = "" width = "400">
<center> <code>▲ 图2-3 </code> </center>
效果:
▲ 图2-3
例6:img url align width [num]
img https://img-blog.csdnimg.cn/f2486684d49b4a3bbdc29ddcf5a1c146.png c 400 [2-3]
输出:
<img src = https://img-blog.csdnimg.cn/f2486684d49b4a3bbdc29ddcf5a1c146.png#pic_center alt = "" width = "400">
<center> <code>▲ 图2-3 </code> </center>
效果:
▲ 图2-3
例7:img url align width [,title]
img https://img-blog.csdnimg.cn/f2486684d49b4a3bbdc29ddcf5a1c146.png c 400 [,百度大脑]
输出:
<img src = https://img-blog.csdnimg.cn/f2486684d49b4a3bbdc29ddcf5a1c146.png#pic_center alt = "" width = "400">
<center> <code>▲ 百度大脑</code> </center>
效果:
▲ 百度大脑
例8:img url align width [num title]
img https://img-blog.csdnimg.cn/f2486684d49b4a3bbdc29ddcf5a1c146.png c 400 [2.4 百度大脑]
输出:
<img src = https://img-blog.csdnimg.cn/f2486684d49b4a3bbdc29ddcf5a1c146.png#pic_center alt = "" width = "400">
<center> <code>▲ 图2.4 百度大脑</code> </center>
效果:
▲ 图2.4 百度大脑
附录: 源码
def img_url(self, clip):
# img url c/l/r width [num title]
# eg1: img url c 500 [2 标题]
# eg2: img url 400
# eg3: img url r
# eg4: img url l 300
# eg5: img url [,这是标题]
# eg6: img url [2-3]
align = 'c'
width = '500'
num = ''
title = ''
if clip[:3] == 'img':
# 正则匹配
result = re.search('[\\[【].+[\\]】]', clip)
if result is not None:
# 分割
group = result.group()
clip = clip.replace(group, '').strip()
# [] 中内容处理
group = group[1:-1]
if group[0] in ',,': # eg5: img url [,这是标题]
title = group[1:]
num = ''
else:
group_lst = group.split()
title = " ".join(group_lst[1:])
num = group_lst[0]
# 外部数据处理
clip_lst = clip.split()
if len(clip_lst) == 3:
if clip_lst[2].isdigit(): # eg2: img url 400
width = clip_lst[2]
else:
align = clip_lst[2]
elif len(clip_lst) == 4:
align = clip_lst[2]
if clip_lst[3].isdigit():
width = clip_lst[3]
url = clip_lst[1]
# ----------------------------
if align.lower() == 'c':
self.out += '<img src = {}#pic_center alt = "" width = "{}">\n'.format(url, width)
elif align.lower() == 'l':
self.out += '<img src = {} alt = "" width = "{}">\n'.format(url, width)
elif align.lower() == 'r':
self.out += '<img src = {} alt = "" align= "right" width = "{}">\n'.format(url, width)
if num != '' or title != '':
if num == '':
self.out += '<center> <code>▲ {}</code> </center>\n'.format(title)
else:
self.out += '<center> <code>▲ 图{} {}</code> </center>\n'.format(num, title)
return True
else:
return False