基于26个字母的tiny_uri , 类似sina t.cn 功能
#coding=utf-8
import os, sys
import string
import random
import re
Dict = string.ascii_lowercase
MAXLEN = len(Dict)
def tiny_uri(uri="t.cn/zzzz", domain="t.cn"):
"""tiny uri base on ascii_lowercase carry"""
macth = re.match(r"%s/(.+)" % domain, uri)
macths = macth.groups(0)
if macths:
uri = macths[0]
else:
return None
loop_index = 0
carry = 0
stack = []
for i in reversed(uri):
stack.append(i)
for u in stack:
index = Dict.find(u)
if index < 0:
continue
if index >= (MAXLEN - 1):
#carry bit
stack[loop_index] = Dict[0]
carry = 1
else:
#add on bit
stack[loop_index] = Dict[index + 1]
carry = 0
break
loop_index += 1
if carry > 0:
stack.append(Dict[0])
return "".join(stack)[::-1]
if __name__ == "__main__":
#test
for i in xrange(100):
uri = Dict[random.randint(0, MAXLEN - 1)]
print " * " * 20
print "before uri:", uri
result = tiny_uri("t.cn/%s" % uri)
print "after uri:", result
assert uri != result
print
print "result:", tiny_uri("t.cn/ccaad")
* * * * * * * * * * * * * * * * * * * *
befor uri: r
after uri: s
result: ccaae
分享到:
相关推荐
tiny_mce_wiris原因分析: 1. tiny_mec是富文本编辑器,但原生不支持公式插件 2. wiris是公式插件能支持各种富文本编辑器,但他是半开源的,要使用他的插件 ,必须依赖于wiris云端服务器,意思是如果项目没有网络则...
标题中的"swin_tiny_patch4_window7_224.pth"是一个预训练模型的权重文件,这在深度学习领域非常常见。Swin Transformer是近年来提出的一种基于Transformer架构的新型卷积神经网络(CNN),由卢卡斯·吴(Liang-...
《Linux设备驱动开发详解——基于2.6.32内核的tiny_tty模块解析》 在Linux系统中,TTY(Teletype)是字符型终端设备的抽象,它为用户提供了与操作系统交互的文本界面。Linux Device Driver Development (LDD3) 是一...
在这个场景中,我们关注的是一个名为"tiny_gnupg"的Python库,版本为0.5.3,它以".whl"格式提供。".whl"文件是Python的预编译二进制包,使得用户可以方便快捷地安装库,而无需进行编译过程。 tiny_gnupg库是Python...
Big_data,_Tiny_Code_《Tiny_Code》电子期刊_Moved_to_githu_tinycode
本项目"Tiny_Faces_in_Tensorflow.zip"聚焦于极小且众多的人脸及人头检测,尤其适用于处理自然环境中的多目标、远近不一的面部识别任务,如车站、商场等公共区域的人头计数。 首先,我们要理解TensorFlow是一个强大...
```python STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), '/path/to/tinymce/', ] ``` 接着,需要在HTML模板中引用TinyMCE的JavaScript文件。这通常在`<head>`部分完成,确保在其他依赖它的脚本之前...
《Tiny_JLINK——微型调试工具的探索》 Tiny_JLINK,这个名字可能对于许多电子工程师来说并不陌生,它是一款小巧而强大的嵌入式调试工具。在本文中,我们将深入探讨Tiny_JLINK及其相关技术,了解其在开发过程中的...
《LINUX设备驱动程式》第三版中的tiny_tty模块是一个简化的串行终端驱动程序,主要用作教学和理解Linux内核中TTY(Teletype)子系统的运作原理。在这个项目中,tiny_tty模块已经根据linux_3.12.74内核版本进行了修正...
所以DPI会很高,但同时业务员需要在一些聊天软件发一些正常DPI的小图广告,但是手头上又没有PS这样的图片编辑软件,这时你就需要一款快速更改DPI的小工具就是这款tiny_ppi_editor,非常的实用。
《Tiny C Compiler的实现与编译原理探索》 在编程世界中,编译器起着至关重要的作用,它将人类可读的高级语言转化为机器可执行的指令。本项目聚焦于 Tiny C Compiler(TCC),一个小型且高效的C语言编译器,用于...
《基于tiny_yolov1的VOC2007目标检测实践详解》 在计算机视觉领域,目标检测是一项核心任务,旨在识别并定位图像中的特定对象。本篇将深入探讨如何利用Keras库中的tiny_yolov1模型,对PASCAL VOC2007数据集进行高效...
包含官方提供的yolov3-tiny.weights和yolov3-tiny.cfg文件,通过datknet2caffe转换得到的yolov3-tiny.caffemodel和yolov3-tiny.prototxt文件,通过RuyiStudio转换得到的inst_yolov3-tiny_inst_YVU420sp.wk文件,亲测...
Tiny_cnn训练数据是针对深度学习领域中的 Tiny_cnn 模型所使用的特定数据集,主要目的是为了训练和测试模型的性能。Tiny_cnn 是一个轻量级的卷积神经网络(CNN)框架,设计用于在资源有限的环境中运行,如嵌入式设备...
《PyPI官网下载 | aio_tiny_healthcheck-1.1.2.tar.gz——Python异步健康检查库解析》 PyPI(Python Package Index)是Python社区的重要资源库,它为开发者提供了一个平台来分享和下载各种Python软件包。在本篇文章...
综上所述, Tiny_YOLOV1卡车位置_目标检测项目利用了北理工提供的卡车位置数据集,结合Python和Keras库训练了一个高效的检测模型,该模型在检测卡车位置方面表现出高精度。在实际应用中,这样的系统可以用于交通监控...
【tiny_usb_office】是一个专注于USB相关的轻量级项目,它主要设计用于在办公环境中实现USB设备的高效管理和应用。此项目可能包含了一系列针对USB设备优化的库、驱动程序、工具和文档,旨在简化USB设备在办公环境中...
Tiny_cnn训练数据集是深度学习领域中一个专门为小巧型卷积神经网络(Tiny Convolutional Neural Networks,Tiny_cnn)设计的训练资源。在构建和优化轻量级模型时,这种数据集对于测试和训练至关重要,特别是对于资源...