<rt id="z4vnd"><optgroup id="z4vnd"></optgroup></rt>
  • <span id="z4vnd"></span>

  • \n開始<\/button>\n\n    \n        <\/div>\n    <\/div>\n<\/div>\n<\/body>\n\n
    	
    
    
    
    
    
    
    

    国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

    Jadual Kandungan
    1. Log keluaran ke fail
    2. Pergi terus Kod
    Rumah pembangunan bahagian belakang Tutorial Python Cara menggunakan python+Flask untuk merealisasikan kemas kini masa nyata dan paparan log pada halaman web

    Cara menggunakan python+Flask untuk merealisasikan kemas kini masa nyata dan paparan log pada halaman web

    May 17, 2023 am 11:07 AM
    python web flask

    1. Log keluaran ke fail

    Gunakan modul: pengelogan

    untuk menjana log tahap tersuai dan log keluaran ke laluan yang ditentukan
    Tahap log: nyahpepijat (log nyahpepijat)

    import logging as lg
    import os
    
    class logging_():
        def __init__(path,delete=True)
            self.path = path #日志文件存放位置
            name = &#39;log.log&#39; #日志文件名稱
            self.log_ = os.path.join(self.path,name) #進入文件目錄
            if delete == True:
                open(f"{path}/{name}","w").close #為True時清空文本
            # 創(chuàng)建一個日志處理器
            self.logger = lg.getLogger(&#39;logger&#39;)
            # 設置日志等級,低于設置等級的日志被丟棄
            self.logger.setLevel(lg.DEBUG)
            # 設置輸出日志格式
            self.fmt = lg.Formatter("[%(asctime)s] - %(levelname)s: %(message)s","%Y-%m-%d %H:%M:%S")  
            # 創(chuàng)建一個文件處理器
            self.fh = lg.FileHandler(self.log_,encoding=&#39;utf-8&#39;)
            # 設置文件輸出格式
            self.fh.setFormatter(self.fmt)
            # 將文件處理器添加到日志處理器中
            self.logger.addHandler(self.fh)
            # 創(chuàng)建一個控制臺處理器
            self.sh=lg.StreamHandler()
            # 設置控制臺輸出格式
            self.sh.setFormatter(self.fmt)
            # 將控制臺處理器添加到日志處理器中
            self.logger.addHandler(self.sh)
            
            # 關閉文件
            self.fh.close()
            
    # 使用
    if __name__ == &#39;__main__&#39;:
        _path = os.paht.dirname(__file__) # 獲取當前文件的路徑
        lg = logging_(_path).logger # 實例化封裝類
        lg.info(&#39;1111&#39;)
        lg.debug(&#39;2222&#39;)
        lg.error(&#39;33333&#39;)
        lg.warning(&#39;44444&#39;)
    mengeluarkan kandungan selepas dijalankan Terdapat fail log.log tambahan dalam direktori fail semasa:

    Kandungan log: Cara menggunakan python+Flask untuk merealisasikan kemas kini masa nyata dan paparan log pada halaman web

    2 Hasilkan log dan baca log

    Cara menggunakan python+Flask untuk merealisasikan kemas kini masa nyata dan paparan log pada halaman web1 Cipta fail py baharu (generation_log) dengan nama fail tersuai,

    2. Pergi terus Kod

    # 導入上面封裝好的日志輸出
    from logging.demo_01 import logging_
    import os,time
    _path = os.path.dirname(__file__) # 獲取當前文件路徑
    lg = logging_(_path) # 實例化類
    
    # 創(chuàng)建方法生成日志
    def generation_log():    
        for i in range(20):
            lg.info(i)
            time.sleep(1)
            
    # 讀取日志并返回
    def red_logs():
        log_path = f&#39;{_path}/log.log&#39; # 獲取日志文件路徑
        with open(log_path,&#39;rb&#39;) as f:
            log_size = path.getsize(log_path) # 獲取日志大小
            offset = -100
            # 如果文件大小為0時返回空
            if log_size == 0:
                return &#39;&#39;
            while True:
                # 判斷offset是否大于文件字節(jié)數(shù),是則讀取所有行,并返回
                if (abs(offset) >= log_size):
                    f.seek(-log_size, 2)
                    data = f.readlines()
                    return data
                # 游標移動倒數(shù)的字節(jié)數(shù)位置
                data = f.readlines()
                # 判斷讀取到的行數(shù),如果大于1則返回最后一行,否則擴大offset
                if (len(data) > 1):
                    return data
                else:
                    offset *= 2

    3. Flask mencipta perkhidmatan web

    Saya tidak akan menerangkan apa yang flask lakukan sekarang Jika anda berminat, anda boleh pergi ke Baidu atau tunggu kemas kini saya. Cuma ikut langkah dan tambah kod di sini Cepat laksanakan halaman web ringkas

    1 Cipta fail app.py dalam direktori dan masukkan kod berikut

    #導入flask模塊
    from flask import Flask,request,render_template
    # 導入日志生成和日志返回方法
    from study.logging.generation_log import generation_log,red_logs
    
    app = Flask(__name__)
    
    line_number = [0] #存放當前日志行數(shù)
    # 定義接口把處理日志并返回到前端
    @app.route(&#39;/get_log&#39;,methods=[&#39;GET&#39;,&#39;POST&#39;])
    def get_log():
        log_data = red_logs() # 獲取日志
        # 判斷如果此次獲取日志行數(shù)減去上一次獲取日志行數(shù)大于0,代表獲取到新的日志
        if len(log_data) - line_number[0] > 0:
            log_type = 2 # 當前獲取到日志
            log_difference = len(log_data) - line_number[0] # 計算獲取到少行新日志
            log_list = [] # 存放獲取到的新日志
            # 遍歷獲取到的新日志存放到log_list中
            for i in range(log_difference):
                log_i = log_data[-(i+1)].decode(&#39;utf-8&#39;) # 遍歷每一條日志并解碼
                log_list.insert(0,log_i) # 將獲取的日志存放log_list中
        else:
            log_type = 3
            log_list = &#39;&#39;
        # 已字典形式返回前端
        _log = {
            &#39;log_type&#39; : log_type,
            &#39;log_list&#39; : log_list
        }
        line_number.pop() # 刪除上一次獲取行數(shù)
        line_number.append(len(log_data)) # 添加此次獲取行數(shù)
        return _log
    
    # 通過前端請求執(zhí)行生成日志方法
    @app.route(&#39;/generation_log&#39;,methods=[&#39;GET&#39;,&#39;POST&#39;])
    def generation_log_():
        if request.method == &#39;POST&#39;:
            generation_log()
        return &#39;&#39;
    
    @app.route(&#39;/&#39;,methods=[&#39;GET&#39;,&#39;POST&#39;])
    def index():
        if request.method == &#39;GET&#39;:
            return render_template(&#39;index.html&#39;)
        if request.method == &#39;POST&#39;:
            return render_template(&#39;index.html&#39;)
    
    if __name__ == "__main__":
        app.run(debug=True) #啟動web服務

    2. Cipta direktori templat dalam direktori

    3 Cipta fail index.html baharu dalam direktori templat dan masukkan kod bahagian hadapan berikut

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            body{
                margin: auto;
                background-color: #f5f5f5;
            }
            .button{width: 200px;height: 50px;color:#FFFFFF;background-color: #1da1f2}
            .log{
                width: 98%;
                height: 500px;
                background-color: #FFFFFF;
                margin: 0 auto;
                margin-top: 10px;
                padding-top: 30px;
                padding-bottom: 40px;
            }
            .log_text{
                height: 500px;
                margin-left: 80px;
                font-size: 18px;
                color: #111111;
                overflow-x: hidden;
                overflow-y: auto;
            }
        </style>
    </head>
    <body>
    <button id="button" class="button">開始</button>
    <div class="log">
        <div class="log_text" id=&#39;log_list&#39;>
            <div id="log_text"></div>
        </div>
    </div>
    </body>
    
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <script>
        var time
          // 創(chuàng)建一個元素節(jié)點
        function insertAfter( newElement, targetElement ){ // newElement是要追加的元素targetElement 是指定元素的位置
            var parent = targetElement.parentNode; // 找到指定元素的父節(jié)點
            parent.appendChild( newElement, targetElement );
        };
        function log(){
            clearTimeout(time) // 清空定時器
            var log_null = 0 //存放空日志次數(shù)
            var div = document.getElementById(&#39;log_list&#39;) //找到存放日志的塊
            div.innerHTML = "<div id=&#39;log_text&#39;></div>" // 每次跑清空div內(nèi)內(nèi)容
    
            $.post(&#39;/generation_log&#39;,{},function (){
            }) //請求生成日志接口
            // 生成定時器
            time = setInterval(function (){
                $.get(&#39;/get_log&#39;,{},function (data){ //請求獲取日志接口獲取日志
                    if (data.log_type == 3){ //如果獲取的是空日志log_null次數(shù)加1
                        log_null ++
                        if (log_null >= 5){
                            clearTimeout(time) //如果連續(xù)10次獲取的都是空日志清除定時任務
                        }
                        return
                    }
                    if (data.log_type == 2){ //如果獲取到新日志
                        for (i=0;i<data.log_list.length;i++){ //遍歷日志
                            var p = document.createElement("p") //生成一個p標簽
                            p.innerHTML = data.log_list[i] //日志存放到P標簽內(nèi)
                            var header = document.getElementById(&#39;log_text&#39;)
                            insertAfter(p,header) //將p標簽添加到log_text div中
                            div.scrollTop = div.scrollHeight //滾動條實時顯示到底部
                        }
                        log_null = 0 //日志為空次數(shù)清0
                    }
    
                })
            },1000) //每1秒鐘執(zhí)行一次
        }
        document.getElementById(&#39;button&#39;).addEventListener("click",log) //點擊開始按鈕開始執(zhí)行
    </script>
    </html>

    4. Mulakan perkhidmatan

    1 Periksa direktori projek untuk melihat sama ada kod telah lengkap >

    2. Mulakan fail app.py

    3 Akses sambungan setempat: http://127.0.0.1:5000/Cara menggunakan python+Flask untuk merealisasikan kemas kini masa nyata dan paparan log pada halaman web

    4 , klik mulaCara menggunakan python+Flask untuk merealisasikan kemas kini masa nyata dan paparan log pada halaman web

    Atas ialah kandungan terperinci Cara menggunakan python+Flask untuk merealisasikan kemas kini masa nyata dan paparan log pada halaman web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

    Alat AI Hot

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    Video Face Swap

    Video Face Swap

    Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    Topik panas

    Tutorial PHP
    1502
    276
    PHP memanggil AI Pembantu Suara Pintar PHP Pembinaan Sistem Interaksi Suara PHP PHP memanggil AI Pembantu Suara Pintar PHP Pembinaan Sistem Interaksi Suara PHP Jul 25, 2025 pm 08:45 PM

    Input suara pengguna ditangkap dan dihantar ke backend PHP melalui API Mediarecorder JavaScript front-end; 2. PHP menjimatkan audio sebagai fail sementara dan memanggil STTAPI (seperti Pengiktirafan Suara Google atau Baidu) untuk mengubahnya menjadi teks; 3. PHP menghantar teks kepada perkhidmatan AI (seperti Openaigpt) untuk mendapatkan jawapan pintar; 4. PHP kemudian memanggil TTSAPI (seperti sintesis Baidu atau Google Voice) untuk menukar balasan ke fail suara; 5. PHP mengalir fail suara kembali ke bahagian depan untuk bermain, menyelesaikan interaksi. Seluruh proses dikuasai oleh PHP untuk memastikan hubungan lancar antara semua pautan.

    Cara Menggunakan PHP Digabungkan dengan AI Untuk Mencapai Ralat Pembetulan Ralat PHP Pengesanan dan Pengoptimuman Sintaks PHP Cara Menggunakan PHP Digabungkan dengan AI Untuk Mencapai Ralat Pembetulan Ralat PHP Pengesanan dan Pengoptimuman Sintaks PHP Jul 25, 2025 pm 08:57 PM

    Untuk merealisasikan pembetulan ralat teks dan pengoptimuman sintaks dengan AI, anda perlu mengikuti langkah -langkah berikut: 1. Pilih model AI atau API yang sesuai, seperti Baidu, Tencent API atau perpustakaan NLP sumber terbuka; 2. Panggil API melalui curl atau Guzzle PHP dan memproses hasil pulangan; 3. Maklumat pembetulan ralat paparan dalam aplikasi dan membenarkan pengguna memilih sama ada untuk mengadopsinya; 4. Gunakan php-l dan php_codesniffer untuk pengesanan sintaks dan pengoptimuman kod; 5. Secara berterusan mengumpul maklum balas dan mengemas kini model atau peraturan untuk meningkatkan kesannya. Apabila memilih AIAPI, fokus pada menilai ketepatan, kelajuan tindak balas, harga dan sokongan untuk PHP. Pengoptimuman kod harus mengikuti spesifikasi PSR, gunakan cache yang munasabah, elakkan pertanyaan bulat, mengkaji semula kod secara berkala, dan gunakan x

    Contoh Bersama Seaborn Python Contoh Bersama Seaborn Python Jul 26, 2025 am 08:11 AM

    Gunakan sendi Seaborn untuk dengan cepat menggambarkan hubungan dan pengedaran antara dua pembolehubah; 2. 3. Tambah garis regresi dan maklumat ketumpatan kepada jenis = "reg", dan gabungkan marginal_kws untuk menetapkan gaya plot tepi; 4. Apabila jumlah data besar, disarankan untuk menggunakan "hex"

    PHP bersepadu teknologi pengkomputeran emosi PHP maklum balas pengguna analisis pintar PHP bersepadu teknologi pengkomputeran emosi PHP maklum balas pengguna analisis pintar Jul 25, 2025 pm 06:54 PM

    Untuk mengintegrasikan teknologi pengkomputeran sentimen AI ke dalam aplikasi PHP, terasnya adalah menggunakan perkhidmatan awan AIAPI (seperti Google, AWS, dan Azure) untuk analisis sentimen, menghantar teks melalui permintaan HTTP dan menghuraikan hasil JSON yang dikembalikan, dan menyimpan data emosi ke dalam pangkalan data, dengan itu menyedari pemprosesan automatik dan pemahaman data maklum balas pengguna. Langkah -langkah khusus termasuk: 1. Pilih API Analisis Sentimen AI yang sesuai, memandangkan ketepatan, kos, sokongan bahasa dan kerumitan integrasi; 2. Gunakan Guzzle atau Curl untuk menghantar permintaan, menyimpan skor sentimen, label, dan maklumat intensiti; 3. Membina papan pemuka visual untuk menyokong penyortiran keutamaan, analisis trend, arah lelaran produk dan segmentasi pengguna; 4. Menanggapi cabaran teknikal, seperti sekatan dan nombor panggilan API

    senarai python ke contoh penukaran rentetan senarai python ke contoh penukaran rentetan Jul 26, 2025 am 08:00 AM

    Senarai rentetan boleh digabungkan dengan kaedah Join (), seperti '' .join (kata) untuk mendapatkan "HelloWorldFrompython"; 2. Senarai nombor mesti ditukar kepada rentetan dengan peta (str, nombor) atau [str (x) forxinnumbers] sebelum menyertai; 3. Mana -mana senarai jenis boleh ditukar secara langsung kepada rentetan dengan kurungan dan petikan, sesuai untuk debugging; 4. Format tersuai boleh dilaksanakan oleh ekspresi penjana yang digabungkan dengan gabungan (), seperti '|' .join (f "[{item}]" foriteminitems) output "[a] | [a]

    Contoh Python Pandas Cair Contoh Python Pandas Cair Jul 27, 2025 am 02:48 AM

    pandas.melt () digunakan untuk menukar data format yang luas ke dalam format yang panjang. Jawapannya adalah untuk menentukan nama lajur baru dengan menentukan id_vars mengekalkan lajur pengenalan, nilai -nilai pilihan lajur untuk dicairkan, var_name dan value_name, 1.id_vars = 'nama' bermaksud bahawa lajur nama tetap tidak berubah, 2.value_vars = ['math', 'bahasa Inggeris' Nama, 4.value_name = 'Score' menetapkan nama lajur baru nilai asal, dan akhirnya menghasilkan tiga lajur termasuk nama, subjek dan skor.

    Mengoptimumkan python untuk operasi terikat memori Mengoptimumkan python untuk operasi terikat memori Jul 28, 2025 am 03:22 AM

    Pythoncanbeoptimizedformemory-boundoperationsbyreducingoverheadthroughgenerators, efisiendataStructures, danManagingObjectlifetimes.first, useGeneratorsInsteadofListStoprocesslargedataSetSoneiteMatime, mengelakkan muat turun muat turun, coose

    Python Sambung ke SQL Server PyoDBC Contoh Python Sambung ke SQL Server PyoDBC Contoh Jul 30, 2025 am 02:53 AM

    Pasang PYODBC: Gunakan perintah PipinstallPyoDBC untuk memasang perpustakaan; 2. Sambungkan SQLServer: Gunakan rentetan sambungan yang mengandungi pemacu, pelayan, pangkalan data, uid/pwd atau aman 3. Semak pemacu yang dipasang: Jalankan pyodbc.drivers () dan tapis nama pemacu yang mengandungi 'SQLServer' untuk memastikan nama pemacu yang betul digunakan seperti 'ODBCDriver17 untuk SQLServer'; 4. Parameter utama rentetan sambungan

    See all articles