Skip to main content

xingyunlib

[toc]

开发者:严子昱|崔轩宇

v1.2.20201004

#v1.2.xx以后全是正式版#

#hack-20201004:修复xesuser故障

版权所有,侵权必究

内置函数 导入方式:

from xingyunlib import *

加密函数s

md=md5("111")#作用:用MD5加密"111",返回一个字符串
s1=sha1("111")#作用:用sha1加密"111",返回一个字符串
s256=sha256("111")#作用:用sha1加密"111",返回一个字符串

颜色类

color=colorX(颜色,传进去的颜色类型)#类型支持"rgb","hsv","hex"
#示例:
color=colorX((100,100,100),"rgb")

color.color

返回颜色

z=color.color

color_to(to_color,change=False)

返回一个要转换的颜色

to_color:转换的颜色,类型支持"rgb","hsv","hex"

change:是否更改原来的颜色

color=colorX((255,255,255),"rgb")#实例化rgb
color.color_to("hex",True)#更改进制为16进制
print(color.color)#打印出color.color

xes更改

最新版本的xingyunlib增加了xeslib的内容

导入方式:

from xingyunlib.xes import xeslib里面的库名

更改:

把xeslib里面所有的print都去了

修改AIspeak.speak函数

from xingyunlib.xes import AIspeak
xes.AIspeak.speak("hello python!","file.mp3")
"""
本程序作用:
将hello python!
保存到file.mp3音频文件里面,并且不播放
"""
xes.AIspeak.speak("hello python!")
"""
本程序作用:
播放hello python!这段音频
"""

xesapp(更新!)

开发者:严子昱|崔轩语

导入方式:

from xingyunlib.xesapp import*

xesapp(url)

<xesapp>=xesapp(url)

构建一个运行对象 url为学而思里面的py作品网址

接下来讲这个类的方法:

get_hot()

返回作品的热度

print(xesapp.get_hot())
get_cover()

返回作品封面的url

print(xesapp.get_cover())
load_cover(filename)

下载作品封面到filename

xesapp.load_cover("")
get_view()

返回作品的观看人数

print(xesapp.get_view())
get_hot()

返回作品的热度

print(xesapp.get_hot())
get_like()

返回作品的点赞数

print(xesapp.get_like())
get_unlike()

返回作品的点踩数

print(xesapp.get_unlike())
load_file(cache = "")

默认下载作品源文件到工作目录 如果cache不为空择下载到这个文件夹

xesapp.load_file()
is_like()

判断在程序运行这个作品有没有人点赞 返回一个bool值 True:点赞了 False:点踩了 None:没有点赞也没有点踩

if xesapp.is_like == True:
    print("点赞了")
elif xesapp.is_like == False:
    print("点踩了")
else:
    print("什么都没点")
run_app()

运行这个作品

exec(xesapp.run_app())
get_published()

获取作品第一次保存时间

print(xesapp.get_published())
get_modified()

获取作品最后一次更新时间

print(xesapp.get_modified())
is_hidden_code()

获取作品是否隐藏代码

if xesapp.is_hidden_code():
    print("作品的代码隐藏了")
else:
    print("作品的代码没有隐藏")
get_description()

获取作品的说明

print(xesapp.get_description())
get_comments()

获取作品一共有多少人评论

print(xesapp.get_comments())
is_comments()

获取从这个作品初始化到现在是否有人评论

if xesapp.is_comments():
    print("评论了")
else:
    print("没有评论")

cmt(url)

这个是一个获取评论的api

dta_dic

#获取一个包含所有评论的列表
a=cmt("http://code.xueersi.com/home/project/detail?lang=code&pid=9785566&version=offline&form=python&langType=python")
print(a.dta_dic)
#输出
"""
(略)
"""

fmt()

#返回一个字符串(评论的字符格式化)
a=cmt("http://code.xueersi.com/home/project/detail?lang=code&pid=9785566&version=offline&form=python&langType=python")
print(a.fmt())
#部分输出
"""
[2020-10-17 20:52:11]
	一维回复严子昱:快点=-=不取关就pen你

[2020-10-17 20:51:31]
	一维回复严子昱:有时关注我这个人,并不是太好的选择
	取关我吧,有事请加qq:3456198711
	微信:huiyu431249891

[2020-10-17 18:34:35]
	俊翔回复严子昱:作者是喜欢互关吗?居然关注我这样的蚂蚁,太感动了

[2020-10-15 21:56:11]
	陈奕翰回复严子昱:考虑合作嘛
	

[2020-10-10 19:29:26]
	茜幻回复严子昱:作者在吗

[2020-10-10 19:10:42]
	蒋狄璁回复严子昱:互关

.......(略)
"""

sorted(by=“likes”,reverse=True)

#设置排序
a=cmt("http://code.xueersi.com/home/project/detail?lang=code&pid=9785566&version=offline&form=python&langType=python")
a.sorted(by="likes",reverse=True)#reverse为 从高到低排列
print(a.fmt())

"""
[2020-10-15 21:56:11]
	陈奕翰回复严子昱:考虑合作嘛
	

[2020-10-17 20:52:11]
	一维回复严子昱:快点=-=不取关就pen你

[2020-10-17 18:34:35]
	俊翔回复严子昱:作者是喜欢互关吗?居然关注我这样的蚂蚁,太感动了

[2020-10-01 20:51:57]
	王玎珰回复严子昱:啊这
...(略)
"""

xesuser(已修复!!!)

注意!!

千万一定不要超高频率请求,否则会报错!!!

作者:严子昱

导入方式:

from xingyunlib.xesuser import*

get_user_id("作品网址")

   user_id=get_user_id("作品网址")
   #本作品最重要的函数,这个获取作品网址的作者的user_id

get__fans(user_id)

   fans_info=get_fans(user_id) 
   #这个user_id从上面拿
   #获取这个人粉丝的大部分信息,返回一个列表
   #每项是一个字典:
      fans_info[x]["realname"]#:获取第x项他的名字
      fans_info[x]["avatar_path"]#:获取第x项他头像的url
      fans_info[x]["fans"]#:获取第x项他的粉丝数量
      fans_info[x]["follows"]#:获取第x项他的关注数量

get_follows(user_id)

   follows_info=get_follows(user_id) 
   #大体和get_fans一样
   #获取这个人粉丝的大部分信息,返回一个列表
   #每项是一个字典:
      follows_info[x]["realname"]#:获取第x项他的名字
      follows_info[x]["avatar_path"]#:获取第x项他头像的url
      follows_info[x]["fans"]#:获取第x项他的粉丝数量
      follows_info[x]["follows"]#:获取第x项他的关注数量

get_info(user_id)

   user_info=get_info(user_id) 
   #获取这个人的大部分信息,返回一个字典
   user_info["name"]#:返回这个人的名字
   user_info["slogan"]#:返回这个人的口号(名字下面那段)
   user_info["fans"]#:返回这个人的粉丝数量
   user_info["follows"]#:返回这个人的关注数量
   user_info["icon"]#:返回这个人的头像url

user(user_id)

   user=user(user_id)#这个其实大部分都是前面的内容,不过前面的加载比较慢,这个适用需要数据比较多的程序
   user.works#:获取发布的作品总数
   #user.work_info#:获取发布的作品的信息,返回一个列表,列表的每项都是字典
   user.work_num#:获取一共有多少个作品(曾经发过的也算)

   user.fans#:获取粉丝总数
   #user.fans_info#:获取粉丝信息(和get_fans返回一样的信息)

   user.follows#:获取关注总数
   #user.follows_info#:获取关注信息(和get_follows返回一样的信息)
   user.like_num#:获取点赞总数
   user.view_num#:获取浏览总数
   user.favorites#:获取收藏总数
    

pygame_extend

导入方式:

from xingyunlib.pygame_extend import *

(这样顺便导入pygame和sys欸嘿嘿)

tkinter_extend

导入方式:

from xingyunlib.tkinter_extend import*

作者:严子昱

inpu_box

#创建(就当button控件用):
a=inpu_box(tk,函数名,**按钮的配置)

#打包:
a.pack(**pack的配置)

#配置:
a.config_entry(**文本框的配置)
a.config_button(**按钮的配置)
#其实你基本可以当做Entry来用,除了初始化语句还有配置以外基本都是一样的
#(剩下的教程还没写完)

print_format

开发者:严子昱

导入方式:

from xingyunlib.print_format import*

print()

print(*str,t=0,sepr=" ",end="\n") 

我们来逐个讲解他们的用法

首先来看t参数: t=每个字停留的时间(默认为不停留) 比如说,要每个字停留1秒,输出"nice"的代码如下: print("nice",t=1)

然后我们来看end参数 这个end参数其实和原来print的end参数是同样的作用 默认是"\n"(换行符)

最后我们看sepr参数,这个参数也是和原来print的sepr是同样的作用 我们来看一个例子: print("ni","e",sepr="c") 最后输出的就是“nice”

我们来看大家这个很关心的变色简洁方式 我们在变色具体支持这些颜色: 红、白、绿、蓝、黄、青、紫 用法如下(注意是两个斜杠): '\'+颜色(字的颜色变化) '\l'+颜色(字的颜色变化,亮色) '\b'+颜色(字的背景变化) '\bl'+颜色(字的背景变化,亮色) '\'(去除所有的变色效果)

clear_os()

clear_os()

清除屏幕上的所有文字

dsfAdmin

开发者|严子昱

(暂时只支持windows)

导入方式:

from xingyunlib.dsfAdmin import*

get_pakages()

作用:获取已安装每个包的版本

for x in range(len(get_pakages())):
    print("库"+x[0].center(19," "),"版本"+x[1].center(10," "))
    

find_pakages(pakages,ver=None)

作用:获取时否安装pakage这个库,ver代表版本,默认不进行版本监测

if find_pakages("xingyunlib"):
    print("你有安装xingyunlib库!")
else:
    print("你没有安装xingyunlib库!")

upgrade_pakages(pakage)

作用:更新pakage这个库

upgrade_pakages(xingyunlib)

install_pakages(pakage)

作用:安装这个库,常和find_pakages一起用

if not find_pakages("alsolib"):
	install_pakages("alsolib")
#注意这个,这个非常重要的,可以在没安装第三方库的时候自动下载库

dump_pip_list(filename)

作用:将库的list保存到这个文件里面

load_pip_list(filename)

作用:将这个文件里面的库导出到正在使用的编译器

dump_pip_list("pip_pakages")
#同目录会出现一个‘pip_pakages.pip’文件
# |把这个文件移到另一台电脑
# v
load_pip_list("pip_pakages")
#然后这个程序就会自动安装在第一台电脑上所有的第三方库了

image

开发者|严子昱

导入方式:

from xingyunlib.image import*

resize(filename,XY)

作用:将filename这个文件变成XY大的文件

resive("img1.png",(100,100))
#将img1.png变成100x100的缩略图

cloud(text,font_path,savafile=None,image=None,background_color="white",color=True)

(这个函数要安装numpy和wordcloud库)

作用:text为列表,font_path为字体文件的位置

savafile为保存的文件名,image为模板图片的名字

background_color为背景颜色 color为是否根据模板图片的颜色上色(在有模板的情况下)

import os
text="ahuidgayugwuydgatywefuwfdytafayuofdwtyfauyfatyfautfatyfatyufduyoawfgtydfeutoaftyaf".split("a")
cloud(text,"(你的字体文件)","all.png")
os.startfile("all.png")

add_text(img, text, **args)

这个**args包括以下内容

font=(”字体文件.ttf”,字号
XY=x坐标y坐标#这个坐标以图片左上角为0,0(原点)
fillColor=颜色建议使用16进制颜色
show_img=True#设置是否在修改完成后显示图片,默认为False
change_img="newimgname.png"#设置输出的图片文件名
add_text("原图.png","广告",font=font,XY=XY,fillColor=fillColor,show_img=show_img,change_img=change_img)

user

开发者|严子昱

导入方式:

from xingyunlib.user import *

初始化:

user_login(filename=None)

filename:之前的保存数据的文件名,如果没有保存过请不要写filename

user=user_login()
#导入之前的数据
user=user_login("<数据文件名称>")

注册:

user.registered(name,key,flag=True,filename=None)

name:注册的名字

key:密码

flag设置为True:如果已经导入数据则返回False(如果已经注册过了就不让你注册)否则返回True(注册成功)

flag设置为False:都可以注册

filename:保存数据文件的名称

type=user.registered(input("请输入你的名字:"),input("请输入你的密码:"),flag=True,filename="data")
if type==True:
    print("注册成功!")
else:
    print("注册失败!")

user.login(name,key)

name:注册时的名称

key:密码

返回一个bool值,为True或False

True:验证密码正确 False:验证失败

type=user.login(input("请输入你的名字:"),input("请输入你的密码:"))
if type==True:
    print("注册成功!")
else:
    print("注册失败!")

user.load(filename)

导入保存的数据,filename为文件名

b=user_login()
b.load("你保存的文件名")

mail

导入方式:

from xingyunlib import mail

用法:

mail.send(to,title,txt)

mail.send("3161399620@qq.com","hello python","hello world!")

to:发送给的邮箱

title:标题

txt:发送的文本

err

导入方式

from xingyunlib import err

当你有一些程序想在特定的情况终止怎么办?

试试下面的程序

err(txt)

from xingyunlib import err
a=input("请输入1:")
if a!="1":#如果非1
    err.err("你没有输入1。。。")
else:
    ...
    #程序自然退出

http_spider

导入方式

from xingyunlib import http_spider

load_requests(str,between,line)

默认值:between=":" ; line="\n"

between:分隔符

line:换行符

这个概念有点难理解,具体看下面示例,能不能听懂由天命

from xingyunlib import http_spider
header=http_spider.load_requests("""Accept: application/json, text/plain, */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.116 Safari/537.36""",": ","\n")#那段字符串是从浏览器复制出来的
print(header)
"""
----------
输出:
{'Accept': 'application/json, text/plain, */*', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.116 Safari/537.36'}
"""

主要作用是自动分析从浏览器复制出来的headers

spider(*args,**kwargs)

这个函数就明显很水,完全是凑数用的,不过对于一些新手来说还是有点用的

其实就是requests的变体,增加了一个判断是否状态码是否10x,40x,50x的功能而已

from xingyunlib import http_spider
print(http_spider.spider("http://code.xueersi.com/api/compilers/6?id=6").text)
#略去输出结果

ua_list

话不多说,上代码

from xingyunlib import http_spider
print(http_spider.ua_list)
"""
输出:
['Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)', 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)', 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)', 'Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)', 'Mozilla/5.0 (compatible; rv:1.9.1) Gecko/20090702 Firefox/3.5', 'Mozilla/5.0 (compatible; rv:1.9.2) Gecko/20100101 Firefox/3.6', 'Mozilla/5.0 (compatible; rv:2.0) Gecko/20110101 Firefox/4.0', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2', 'Mozilla/5.0 (compatible) AppleWebKit/534.21 (KHTML, like Gecko) Chrome/11.0.682.0 Safari/534.21', 'Opera/9.80 (compatible; U) Presto/2.7.39 Version/11.00', 'Mozilla/5.0 (compatible; U) AppleWebKit/533.1 (KHTML, like Gecko) Maxthon/3.0.8.2 Safari/533.1', 'Mozilla/5.0 (Linux; U; Android 2.2) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 ', 'Mozilla/5.0 (iPhone; U; CPU OS 4_2_1 like Mac OS X) AppleWebKit/532.9 (KHTML, like Gecko) Version/5.0.3 Mobile/8B5097d Safari/6531.22.7', 'Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/4.0.2 Mobile/8C148 Safari/6533.18.5', 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_7) AppleWebKit/534.16+ (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4']
"""

这是一个列表,里面有很多笔者搜集的ua,(截至2020-9-19)收录了15个ua,足够你用了

get_xes_url(url)

爬取一个xes的页面

from xingyunlib import http_spider
print(http_spider.get_xes_url("http://code.xueersi.com/api/compilers/6?id=6"))
#略去输出结果

data

数据类方法

2020-10-1

作者:严子昱

导入方式:

from xingyunlib import data

Data

初始化方法:

dta=data.Data(filename,find=False)
"""
filename:文件名,若没有则创建
find:搜索模式,若没有filename则报错
"""

输入数据:

change_data(data)

dta=data.Data(filename,find=False)
#略
"""
data参数支持的数据:
list,bool,tutle,str,set,dict,int,float
"""
dta.change_data("加油!")

eval_data()

把从文件中保存的数据转换成可执行内容

"""fruit.txt内容:
["apple","orange"]
"""
dta=data.Data("fruit.txt",find=False)
dta.eval_data()
for x in dta.data:
    print(f"fruit:{x}")
"""
输出结果:
fruit:apple
fruit:orange
"""

save()

保存结果到文件中

dta=data.Data("great",find=False)
dta.change_data(["hhc","hhv"])
dta.save()
"""great内容:
["hhc","hhv"]"""

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xingyunlib-1.2.20201024.tar.gz (32.4 kB view details)

Uploaded Source

File details

Details for the file xingyunlib-1.2.20201024.tar.gz.

File metadata

  • Download URL: xingyunlib-1.2.20201024.tar.gz
  • Upload date:
  • Size: 32.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3

File hashes

Hashes for xingyunlib-1.2.20201024.tar.gz
Algorithm Hash digest
SHA256 bbd69ff506b9680e276be53969766fe26819127cbf3e76889b1c78ec1490c24e
MD5 aa3dbf999f180918a4faaef0022e7675
BLAKE2b-256 426f2139ef9d13f2ec06eda44f2eeb71d72ac1f54624c52b21eaaabd7e7ac5bd

See more details on using hashes here.

Release history Release notifications | RSS feed

1.2.20210416

2 files

1.2.20201206

1 file

1.2.20201120

2 files

This release

1.2.20201024 This release

1 file

1.2.20201004

2 files

1.2.20201001

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page