国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

            手機站
            千鋒教育

            千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

            千鋒教育

            掃一掃進入千鋒手機站

            領(lǐng)取全套視頻
            千鋒教育

            關(guān)注千鋒學(xué)習(xí)站小程序
            隨時隨地免費學(xué)習(xí)課程

            當前位置:首頁  >  技術(shù)干貨  > 分享幾段有用的Python代碼

            分享幾段有用的Python代碼

            來源:千鋒教育
            發(fā)布人:xqq
            時間: 2023-11-06 17:45:54 1699263954

            今天分享幾段工作生活中常用的代碼,都是最為基礎(chǔ)的功能和操作,而且大多還都是出現(xiàn)頻率比較高的,很多都是可以拿來直接使用或者簡單修改就可以放到自己的項目當中。喜歡的記得收藏、關(guān)注、點贊。

            廢話不多說,我們開始吧!

            日期生成

            很多時候我們需要批量生成日期,方法有很多,這里分享兩段Python代碼:

            獲取過去N天的日期

            importdatetime

            defget_nday_list(n):

            before_n_days=[]

            foriinrange(1,n+1)[::-1]:

            before_n_days.append(str(datetime.date.today()-datetime.timedelta(days=i)))

            returnbefore_n_days

            a=get_nday_list(30)

            print(a)

            Output:

            ['2021-12-23','2021-12-24','2021-12-25','2021-12-26','2021-12-27',

            '2021-12-28','2021-12-29','2021-12-30','2021-12-31','2022-01-01',

            '2022-01-02','2022-01-03','2022-01-04','2022-01-05','2022-01-06',

            '2022-01-07','2022-01-08','2022-01-09','2022-01-10','2022-01-11',

            '2022-01-12','2022-01-13','2022-01-14','2022-01-15','2022-01-16',

            '2022-01-17','2022-01-18','2022-01-19','2022-01-20','2022-01-21']

            生成一段時間內(nèi)的日期:

            importdatetime

            defcreate_assist_date(datestart=None,dateend=None):

            #創(chuàng)建日期輔助表

            ifdatestartisNone:

            datestart='2016-01-01'

            ifdateendisNone:

            dateend=datetime.datetime.now().strftime('%Y-%m-%d')

            #轉(zhuǎn)為日期格式

            datestart=datetime.datetime.strptime(datestart,'%Y-%m-%d')

            dateend=datetime.datetime.strptime(dateend,'%Y-%m-%d')

            date_list=[]

            date_list.append(datestart.strftime('%Y-%m-%d'))

            whiledatestart

            #日期疊加一天

            datestart+=datetime.timedelta(days=+1)

            #日期轉(zhuǎn)字符串存入列表

            date_list.append(datestart.strftime('%Y-%m-%d'))

            returndate_list

            d_list=create_assist_date(datestart='2021-12-27',dateend='2021-12-30')

            d_list

            Output:

            ['2021-12-27','2021-12-28','2021-12-29','2021-12-30']

            保存數(shù)據(jù)到CSV

            保存數(shù)據(jù)到CSV是太常見的操作了,分享一段我個人比較喜歡的寫法:

            defsave_data(data,date):

            ifnotos.path.exists(r'2021_data_%s.csv'%date):

            withopen("2021_data_%s.csv"%date,"a+",encoding='utf-8')asf:

            f.write("標題,熱度,時間,url\n")

            foriindata:

            title=i["title"]

            extra=i["extra"]

            time=i['time']

            url=i["url"]

            row='{},{},{},{}'.format(title,extra,time,url)

            f.write(row)

            f.write('\n')

            else:

            withopen("2021_data_%s.csv"%date,"a+",encoding='utf-8')asf:

            foriindata:

            title=i["title"]

            extra=i["extra"]

            time=i['time']

            url=i["url"]

            row='{},{},{},{}'.format(title,extra,time,url)

            f.write(row)

            f.write('\n')

            帶背景顏色的Pyecharts

            Pyecharts作為Echarts的優(yōu)秀Python實現(xiàn),受到眾多開發(fā)者的青睞,用Pyecharts作圖時,使用一個舒服的背景也會給我們的圖表增色不少。

            以餅圖為例,通過添加JavaScript代碼來改變背景顏色:

            defpie_rosetype(data)->Pie:

            background_color_js=(

            "newecharts.graphic.LinearGradient(0,0,0,1,"

            "[{offset:0,color:'#c86589'},{offset:1,color:'#06a7ff'}],false)"

            )

            c=(

            Pie(init_opts=opts.InitOpts(bg_color=JsCode(background_color_js)))

            .add(

            "",

            data,

            radius=["30%","75%"],

            center=["45%","50%"],

            rosetype="radius",

            label_opts=opts.LabelOpts(formatter=":{c}"),

            )

            .set_global_opts(title_opts=opts.TitleOpts(title=""),

            )

            )

            returnc

            requests庫調(diào)用

            據(jù)統(tǒng)計,requests庫是Python家族里被引用得最多的第三方庫,足見其江湖地位之高大!

            發(fā)送GET請求:

            importrequests

            headers={

            'user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/96.0.4664.110Safari/537.36',

            'cookie':'some_cookie'

            }

            response=requests.request("GET",url,headers=headers)

            發(fā)送POST請求:

            importrequests

            payload={}

            files=[]

            headers={

            'user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/96.0.4664.110Safari/537.36',

            'cookie':'some_cookie'

            }

            response=requests.request("POST",url,headers=headers,data=payload,files=files)

            根據(jù)某些條件循環(huán)請求,比如根據(jù)生成的日期

            defget_data(mydate):

            date_list=create_assist_date(mydate)

            url="https://test.test"

            files=[]

            headers={

            'user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/96.0.4664.110Safari/537.36',

            'cookie':''

            }

            fordindate_list:

            payload={'p':'10',

            'day':d,

            'nodeid':'1',

            't':'itemsbydate',

            'c':'node'}

            foriinrange(1,100):

            payload['p']=str(i)

            print("getdataof%sinpage%s"%(d,str(i)))

            response=requests.request("POST",url,headers=headers,data=payload,files=files)

            items=response.json()['data']['items']

            ifitems:

            save_data(items,d)

            else:

            break

            Python操作各種數(shù)據(jù)庫

            操作Redis

            連接Redis

            importredis

            defredis_conn_pool():

            pool=redis.ConnectionPool(host='localhost',port=6379,decode_responses=True)

            rd=redis.Redis(connection_pool=pool)

            returnrd

            寫入Redis

            fromredis_connimportredis_conn_pool

            rd=redis_conn_pool()

            rd.set('test_data','mytest')

            操作MongoDB

            連接MongoDB

            frompymongoimportMongoClient

            conn=MongoClient("mongodb://%s:%s@ipaddress:49974/mydb"%('username','password'))

            db=conn.mydb

            mongo_collection=db.mydata

            批量插入數(shù)據(jù)

            res=requests.get(url,params=query).json()

            commentList=res['data']['commentList']

            mongo_collection.insert_many(commentList)

            操作MySQL

            連接MySQL

            importMySQLdb

            #打開數(shù)據(jù)庫連接

            db=MySQLdb.connect("localhost","testuser","test123","TESTDB",charset='utf8')

            #使用cursor()方法獲取操作游標

            cursor=db.cursor()

            執(zhí)行SQL語句

            #使用execute方法執(zhí)行SQL語句

            cursor.execute("SELECTVERSION()")

            #使用fetchone()方法獲取一條數(shù)據(jù)

            data=cursor.fetchone()

            print"Databaseversion:%s"%data

            #關(guān)閉數(shù)據(jù)庫連接

            db.close()

            Output:

            Databaseversion:5.0.45

            本地文件整理

            整理文件涉及需求的比較多,這里分享的是將本地多個CSV文件整合成一個文件。

            importpandasaspd

            importos

            df_list=[]

            foriinos.listdir():

            if"csv"ini:

            day=i.split('.')[0].split('_')[-1]

            df=pd.read_csv(i)

            df['day']=day

            df_list.append(df)

            df=pd.concat(df_list,axis=0)

            df.to_csv("total.txt",index=0)

            多線程代碼

            多線程也有很多實現(xiàn)方式,我們選擇自己最為熟悉順手的方式即可。

            importthreading

            importtime

            exitFlag=0

            classmyThread(threading.Thread):

            def__init__(self,threadID,name,delay):

            threading.Thread.__init__(self)

            self.threadID=threadID

            self.name=name

            self.delay=delay

            defrun(self):

            print("開始線程:"+self.name)

            print_time(self.name,self.delay,5)

            print("退出線程:"+self.name)

            defprint_time(threadName,delay,counter):

            whilecounter:

            ifexitFlag:

            threadName.exit()

            time.sleep(delay)

            print("%s:%s"%(threadName,time.ctime(time.time())))

            counter-=1

            #創(chuàng)建新線程

            thread1=myThread(1,"Thread-1",1)

            thread2=myThread(2,"Thread-2",2)

            #開啟新線程

            thread1.start()

            thread2.start()

            thread1.join()

            thread2.join()

            print("退出主線程")

            異步編程代碼

            異步爬取網(wǎng)站

            importasyncio

            importaiohttp

            importaiofiles

            asyncdefget_html(session,url):

            try:

            asyncwithsession.get(url=url,timeout=8)asresp:

            ifnotresp.status//100==2:

            print(resp.status)

            print("爬取",url,"出現(xiàn)錯誤")

            else:

            resp.encoding='utf-8'

            text=awaitresp.text()

            returntext

            exceptExceptionase:

            print("出現(xiàn)錯誤",e)

            awaitget_html(session,url)

            使用異步請求之后,對應(yīng)的文件保存也需要使用異步,即是一處異步,處處異步。

            asyncdefdownload(title_list,content_list):

            asyncwithaiofiles.open('{}.txt'.format(title_list[0]),'a',

            encoding='utf-8')asf:

            awaitf.write('{}'.format(str(content_list)))

            以上就是我平時用得最多的代碼片段,希望對你有所幫助。

            以上內(nèi)容為大家介紹了分享幾段有用的Python代碼,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注多測師。http://www.parentadvocate.org/xwzx/

            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
            請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
            免費領(lǐng)取
            今日已有369人領(lǐng)取成功
            劉同學(xué) 138****2860 剛剛成功領(lǐng)取
            王同學(xué) 131****2015 剛剛成功領(lǐng)取
            張同學(xué) 133****4652 剛剛成功領(lǐng)取
            李同學(xué) 135****8607 剛剛成功領(lǐng)取
            楊同學(xué) 132****5667 剛剛成功領(lǐng)取
            岳同學(xué) 134****6652 剛剛成功領(lǐng)取
            梁同學(xué) 157****2950 剛剛成功領(lǐng)取
            劉同學(xué) 189****1015 剛剛成功領(lǐng)取
            張同學(xué) 155****4678 剛剛成功領(lǐng)取
            鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
            董同學(xué) 138****2867 剛剛成功領(lǐng)取
            周同學(xué) 136****3602 剛剛成功領(lǐng)取
            相關(guān)推薦HOT