最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)簡易信息分類存儲軟件

 更新時間:2021年12月17日 16:25:38   作者:~白+黑  
這篇文章主要介紹的是通過Python制作一個簡易的文件分類存儲文件,可以實現(xiàn)信息的增刪改查以及內(nèi)容的導(dǎo)出和回復(fù),文中的示例代碼對我們的學(xué)習(xí)有一定的價值,感興趣的同學(xué)可以了解一下

時間緊任務(wù)重,女神提出的要求有模棱兩可,只能自己考慮各種情況,除了用python還有誰能這么短的時間搞出來。

程序界面,增刪改查不能少,后悔藥也需要給女神準(zhǔn)備上,由于最后需要打包給女神用,所以選擇了python的自帶庫,tkinter編寫界面,我覺得也不是那么丑,數(shù)據(jù)存儲用sqlite3數(shù)據(jù)庫,可以導(dǎo)出成csv文件,完全用python自帶庫解決,這樣打包起來兼容性會好一點。

查詢界面,可以根據(jù)每個表的各個項目分類查詢,如果不輸入查詢關(guān)鍵字,則當(dāng)前類別全部輸出。

匯總信息展示,這里也是程序初始界面。

廢話不多說,直接上代碼,由于也是業(yè)余時間搞得,代碼簡單粗暴,縫縫補補,各位大神見笑了。

import tkinter as tk
import sqlite3
import csv
from threading import Thread
import shutil
import os
import time
from tkinter import  messagebox
from tkinter import filedialog
from tkinter import ttk




class App(tk.Frame):
    def __init__(self,master,*args,**kwargs):
        super().__init__(master,*args,**kwargs)
        self.dirdict={
            "新建":self.new,
            "查詢":self.search,
            "修改":self.edit,
            "刪除":self.delete,
            "匯總":self.totale,
            "導(dǎo)出":self.export,
            "后悔藥":self.regret
        }
        self.newdict={
                "咨詢信息":self.customer_information,
                "投標(biāo)信息":self.bidding_information,
                "合同信息" :self.contract_information,
                "售后信息" :self.service_information,
            }
        self.newlabelsdict={
            "咨詢信息":["日期","公司名稱","聯(lián)系人","聯(lián)系電話","備注"],
            "投標(biāo)信息":["招標(biāo)單位","招標(biāo)號","報名費","保證金","退保證金","開票信息",],
            "合同信息":["合同號","簽訂日期","數(shù)量","總價","客戶名稱","貨期","派工單號","發(fā)貨地址","回款批次","發(fā)票信息","開票信息","合同掃描件"],
            "售后信息":["產(chǎn)品型號","派工號","貨期","技術(shù)人員","安裝人員","驗收","售后1","售后2"],
        }
       
        self.prmkey={
            "咨詢信息":('company',1),
            "投標(biāo)信息":('company',0),
            "合同信息":('contract',0),
            "售后信息":('jobnum',1),
        }
        self.new_zh_col={

            "咨詢信息":'consulting',
            "日期":"date","公司名稱":"company","聯(lián)系人":"contacts","聯(lián)系電話":"telephone","備注":"remarks",
            "投標(biāo)信息":'bid',
            "招標(biāo)單位":"company","招標(biāo)號":"number","報名費":"enroll","保證金":"ensure","退保證金":"back","開票信息":"invoice",
            "合同信息":'contractinfo',
            "合同號":"contract","簽訂日期":"sdate","數(shù)量":"quantity","總價":"total","客戶名稱":"customer","貨期":"delivery","派工單號":"oddnum","發(fā)貨地址":"address","回款批次":"batch","發(fā)票信息":"cinfo","開票信息":"invoice","合同掃描件":"catpath",
            "售后信息":'service',
            "產(chǎn)品型號":"product","派工號":"jobnum","貨期":"delivery","技術(shù)人員":"artisan","安裝人員":"installer","驗收":"check","售后1":"service1","售后2":"service2",
        }
        self.pack(expand=1,fill="both")
        self.con=sqlite3.connect("treasure.db")
        self.creat_widget()

    def creat_widget(self):
        self.frameleft = tk.Frame(self,bg='RoyalBlue',relief="groove",borderwidth=2)
        self.frameleft.pack(side='left',expand='no',fill='y',anchor="n")
        
        for i in self.dirdict.keys():
            but=tk.Button(self.frameleft,text=i,width="10",)
            but.pack(side="top",expand="no",fill="x",anchor="n",padx=4,pady=5,)
            but.bind('<Button-1>', self.set_style)

        self.frameright = tk.Frame(self,bg='RoyalBlue',relief="groove",borderwidth=2)
        self.frameright.pack(side='right',expand='yes',fill='both',padx=3,pady=0)

        self.lf2 = tk.LabelFrame(self.frameright,text="信息",relief="groove",borderwidth=1,bg="Wheat")
        self.lf2.pack(side="top",expand=1,fill="both",pady=2,)
        self.totale()

    def set_style(self,event):
        for i in self.frameleft.winfo_children():
            if isinstance(i,tk.Button):
                i.config(fg="black")
        event.widget["fg"]="blue"
        self.reset(self.frameright)

        self.lf1 = tk.Frame(self.frameright,relief="groove",borderwidth=0,bg='RoyalBlue')
        self.lf1.pack(side="top",expand=0,fill="x",pady=2,)

        self.lf2 = tk.LabelFrame(self.frameright,text="信息",relief="groove",borderwidth=1,bg="Wheat")
        self.lf2.pack(side="top",expand=1,fill="both",pady=2,)
        self.dirdict.get(event.widget["text"],None)()
        self.lf2["text"]=event.widget["text"]

######################################新建內(nèi)容###########################################################################
    def new(self):#新建總類
        def data_input(event):
            self.lf2.config(text=event.widget['text'])
            self.reset(self.lf2)
            self.newdict.get(event.widget['text'],None)(self.newlabelsdict[event.widget['text']])

        for i in self.newdict.keys():
            bu=tk.Button(self.lf1,text=i,)
            bu.pack(side="left",expand=1,fill="x",padx=5,pady=2,)
            bu.bind('<Button-1>', data_input)
        
    def customer_information(self,labellist):#新建客戶信息
        this="咨詢信息"
        for i in labellist:
            if i == labellist[-1]:
                tk.Label(self.lf2,text=i,bg="Wheat",width=10).pack(side="top",)
                tk.Text(self.lf2,height=6).pack(side="top",expand=1,pady=1,padx=5,fill="both")
            else:
                e=tk.Entry(self.lf2,)
                e.pack(side="top",expand=0,pady=1,padx=5,fill="x")
                l=tk.Label(e,text=i,bg="Wheat",width=10)
                l.pack(side="right",)

        def getdict():
            cusdict=self.super_get(labellist,self.lf2)
            if self.save_data("INSERT INTO consulting VALUES (?,?,?,?,?)", list(cusdict.values())):
                self.super_del(self.lf2)
           
        bu=tk.Button(self.lf2,text="確認(rèn)提交",width=15,command=getdict)
        bu.pack(side="bottom",expand=0,padx=5,pady=2,)

    def bidding_information(self,labellist):#新建招標(biāo)信息
        this="投標(biāo)信息"
        for i in labellist:
            if i == labellist[-1]:
                tk.Label(self.lf2,text=i,bg="Wheat",width=10).pack(side="top",)
                tk.Text(self.lf2,height=6).pack(side="top",expand=1,pady=1,padx=5,fill="both")
            else:
                e=tk.Entry(self.lf2,)
                e.pack(side="top",expand=0,pady=1,padx=5,fill="x")
                l=tk.Label(e,text=i,bg="Wheat",width=10)
                l.pack(side="right",)

        def getdict():
            cusdict=self.super_get(labellist,self.lf2)
            if self.save_data("INSERT INTO bid VALUES (?,?,?,?,?,?)", list(cusdict.values())):
                self.super_del(self.lf2)
        bu=tk.Button(self.lf2,text="確認(rèn)提交",width=15,command=getdict)
        bu.pack(side="bottom",expand=0,padx=5,pady=2,)
       
    def contract_information(self,labellist):#新建合同信息
        this="合同信息"
        def filenames():
            names=filedialog.askopenfilenames(title="上傳合同掃描件")  
            if names:
                filenamesentry.insert(0,",".join(names))
            
        for i in labellist:
            if i==labellist[0]:
                connum=tk.Entry(self.lf2,)
                connum.pack(side="top",expand=0,pady=1,padx=5,fill="x")
                tk.Label(connum,text=i,bg="Wheat",width=10).pack(side="right",)
            elif i == labellist[-2]:
                tk.Label(self.lf2,text=i,bg="Wheat",width=10).pack(side="top",)
                tk.Text(self.lf2,height=6).pack(side="top",expand=1,pady=1,padx=5,fill="both")
            elif i==labellist[-1]:
                filenamesentry=tk.Entry(self.lf2)
                filenamesentry.pack(side="top",expand=0,pady=2,padx=5,fill="x")
                filebut=tk.Button(filenamesentry,text="點擊上傳合同",height=1,command=filenames)
                filebut.pack(side="right",expand=0,padx=0,pady=0,)
            else:
                e=tk.Entry(self.lf2,)
                e.pack(side="top",expand=0,pady=1,padx=5,fill="x")
                tk.Label(e,text=i,bg="Wheat",width=10).pack(side="right",)

        def getdict():
            files=filenamesentry.get()
            if files:
                number=connum.get() if connum.get() else "無合同號"
                newcat=os.path.join(os.getcwd(),"mydata\{}{}".format(number,time.strftime(r"-%Y-%m-%d %H-%M-%S",time.localtime()),))
                os.mkdir(newcat)
                for i in files.split(","):
                    shutil.move(os.path.join(i),newcat)
                filenamesentry.delete(0, "end")
                filenamesentry.insert(0,newcat)
            cusdict=self.super_get(labellist,self.lf2)
            if self.save_data("INSERT INTO contractinfo VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", list(cusdict.values())):
                self.super_del(self.lf2)

        bu=tk.Button(self.lf2,text="確認(rèn)提交",width=15,command=getdict)
        bu.pack(side="bottom",expand=0,padx=5,pady=2,fill="x")
       
    def service_information(self,labellist):#新建售后信息
        this="售后信息"
        for i in labellist:
            e=tk.Entry(self.lf2,)
            e.pack(side="top",expand=0,pady=1,padx=5,fill="x")
            l=tk.Label(e,text=i,bg="Wheat",width=10)
            l.pack(side="right",)
 
        def getdict():
            cusdict=self.super_get(labellist,self.lf2)
            # check=self.check(self.new_zh_col.get(this,None),self.prmkey.get(this,None)[0],cusdict.get())
            if self.save_data("INSERT INTO service VALUES (?,?,?,?,?,?,?,?)", list(cusdict.values())):
                self.super_del(self.lf2)

        bu=ttk.Button(self.lf2,text="確認(rèn)提交",width=15,command=getdict)
        bu.pack(side="bottom",expand=0,padx=5,pady=2,)

#################################################################################################################

    def save_data(self,sqldoc,somedata,flag=False):#數(shù)據(jù)庫存儲存儲客戶信息
        cur = self.con.cursor()
        try:
            cur.execute(sqldoc,somedata)
            self.con.commit()
            messagebox.showinfo("稟報女王","女王萬歲,您又贏了")
            return True
        except Exception as e:
            messagebox.showwarning("急報女王","女王我出錯了:{}".format(e))
            return False

    def check(self,this,col,value):
        sqldoc="SELECT * FROM {} WHERE {} = '{}' ".format(this,col,value)
        cur = self.con.cursor()
        cur.execute(sqldoc)
        data=cur.fetchone()
        return data

    def find_data(self,sqldoc):
        cur = self.con.cursor()
        try:
            cur.execute(sqldoc)
            datas=cur.fetchall()
            if datas:
                return datas
            else:
                messagebox.showwarning("稟報女王","女王大人,小的什么也沒搜到")
        except Exception as e:
            messagebox.showwarning("稟報女王","女王大人這是一次失誤{}".format(e))
            return None

    def del_data(self,sqldoc):
        cur = self.con.cursor()
        cur.execute(sqldoc)
        self.con.commit()
        messagebox.showinfo("喜報","女王無敵,敵人已消滅")

    def add_top(self,title):#創(chuàng)建頂級窗口
        top = tk.Toplevel(width=self.master.winfo_screenwidth()//4,height=self.master.winfo_screenheight()//4,)
        top.title(title)
        return top

    def reset(self,widget):#重置該組件,銷毀該組件所有子組件
        for i in widget.winfo_children():
            i.destroy()

    def super_get(self,labellist,wids):#獲取entry和text類得內(nèi)容
        cusdict={}
        for i ,k in zip(labellist,[i for i in wids.winfo_children() if isinstance(i, (tk.Entry,tk.Text))]):
            if isinstance(k,tk.Entry):
                cusdict[i] = k.get()
            elif isinstance(k, tk.Text):
                cusdict[i] = k.get(1.0,'end')
            else:
                pass
        return cusdict

    def super_del(self,wids):#刪除entry和text類的內(nèi)容
        for wid in wids.winfo_children():
            if isinstance(wid,tk.Text):
                wid.delete(1.0,"end")
            elif isinstance(wid, tk.Entry):
                wid.delete(0,"end")
            else:
                pass
    def super_insert(self,wids,text):#為entry或text類組件插入內(nèi)容
        ins=[i for i in wids.winfo_children() if isinstance(i, (tk.Entry,tk.Text))]
        for wid,value in zip(ins,text):
            wid.insert("end",value)
           
    def creat_tree(self,wid,headers,height=4):#建立treeview組件
        
        tree=ttk.Treeview(wid,columns=headers,show='headings',height=height)
        for n,i in enumerate(headers):
            tree.column(i,width=60,)
            tree.heading(column=i,text=i)
        sc=ttk.Scrollbar(wid,)
        sc['command']=tree.yview
        sc.pack(side='right',fill='both')
        tree["yscrollcommand"]=sc.set
        tree.pack(side="top",fill="both",expand=1)
        return tree

    def tree_insert(self,table,datas):#插入數(shù)值
        # 插入數(shù)據(jù)
        if datas:
            for index, data in enumerate(datas):
                table.insert('', index, values=data)  
    
    def tree_del(self,obj):#清除組件內(nèi)內(nèi)容
        child=obj.get_children()
        for i in child:
            obj.delete(i)

    def create_lf1_children(self,parent,):#為一下項目提供篩選,搜索選項
        def change(event):
            cominfo["values"]=self.newlabelsdict[com.get()]
            cominfo.current(0)

        com=ttk.Combobox(parent,values=tuple(self.newlabelsdict.keys()),state="readonly",)
        com.pack(side="left",padx=2,pady=2)
        com.current(0)
        com.bind('<<ComboboxSelected>>', change)

        cominfo=ttk.Combobox(parent,state="readonly",values=self.newlabelsdict[com.get()])
        cominfo.pack(side="left",padx=2,pady=2)
        cominfo.current(0)

        e=ttk.Entry(parent,)
        e.pack(side="left",expand=1,pady=1,padx=5,fill="x")
        
        return com,cominfo,e

    def start_find(self,arc,colname,e):#便捷函數(shù),為以下項目提供支持
        tablename, col = self.new_zh_col.get(arc,None),self.new_zh_col.get(colname,None)
        self.lf2.config(text=arc)
        headers=self.newlabelsdict.get(arc,None)
        table=self.creat_tree(self.lf2,headers)
        par=e.get()
        sqldoc="SELECT * FROM {} WHERE {} LIKE '%{}%' ".format(tablename,col,par) if par else "SELECT * FROM {} ".format(tablename)
        datas=self.find_data(sqldoc)
        return table ,datas
    
    def search(self):#查找數(shù)據(jù)
        def find():
            self.reset(self.lf2)
            arc=com.get()
            colname = cominfo.get()
            table,datas=self.start_find(arc,colname,e)
            self.tree_insert(table,datas)

        com, cominfo, e= self.create_lf1_children(self.lf1, )
        tk.Button(self.lf1,text="開始查找",command=find).pack(side="left",expand=0,padx=5,pady=2,)
        

    def edit(self):#編輯數(shù)據(jù)
        def tree_selected(event):
            name=com.get()
            value_e=event.widget.item(event.widget.selection()[0])['values']
            self.reset(self.lf2)
            self.newdict.get(name,None)(self.newlabelsdict[name])
            self.super_insert(self.lf2,value_e)
            
            
        def find():
            self.reset(self.lf2)
            arc=com.get()
            colname = cominfo.get()
            table,datas=self.start_find(arc,colname,e)
            self.tree_insert(table,datas)
            table.bind("<<TreeviewSelect>>", tree_selected)

        com, cominfo, e = self.create_lf1_children(self.lf1, )
        tk.Button(self.lf1,text="開始查找",command=find).pack(side="left",expand=0,padx=5,pady=2,)
        
   
    def delete(self):
        def tree_selected(event):
            name=com.get()
            value_e=event.widget.item(event.widget.selection()[0])['values']
            flag=messagebox.askokcancel('愛之深恨之切',"女王大人,確定要放棄它嘛")
            if flag:
                sqldoc="DELETE FROM {} WHERE {} = '{}' ".format(self.new_zh_col.get(name,None),self.prmkey.get(name,None)[0],value_e[self.prmkey.get(name,None)[1]])
                self.del_data(sqldoc)
                find()
            else:
                pass
        def find():
            self.reset(self.lf2)
            arc=com.get()
            colname = cominfo.get()
            table,datas=self.start_find(arc, cominfo, e)
            self.tree_insert(table,datas)
            table.bind("<<TreeviewSelect>>", tree_selected)

        com, cominfo, e = self.create_lf1_children(self.lf1, )
        tk.Button(self.lf1,text="開始查找",command=find).pack(side="left",expand=0,padx=5,pady=2,)

    def export(self):#導(dǎo)出數(shù)據(jù),存為csv文件
        def ex():
            cur = self.con.cursor()
            file=os.path.join(os.getcwd(),"{}{}.csv".format("數(shù)據(jù)匯總",time.strftime(r"-%Y-%m-%d %H-%M",time.localtime()),))
            print(file)
            with open(file,"w",newline="") as dd:
                wter=csv.writer(dd)
                for i in self.newlabelsdict.keys():
                    sqldoc="SELECT * FROM {} ".format(self.new_zh_col.get(i,None))
                    cur.execute(sqldoc)
                    datas=cur.fetchall()
                    wter.writerow(self.newlabelsdict[i])
                    wter.writerows(datas)
                    wter.writerow("")
            messagebox.showinfo("喜報","女王陛下,數(shù)據(jù)已導(dǎo)出完成\n存儲位置{}".format(file))

        def beifen():
            t = Thread(target=ex)
            t.run()

        cur = self.con.cursor()
        for i, k in self.newlabelsdict.items():
            lf21=tk.LabelFrame(self.lf2,text=i,bg="Wheat")
            lf21.pack(side="top",fill="both",expand=1,pady=1)
            sqldoc="SELECT * FROM {} ".format(self.new_zh_col.get(i,None))
            cur.execute(sqldoc)
            datas=cur.fetchall()
            tk.Label(lf21,text="{}數(shù)據(jù)總數(shù): {}條".format(i,len(datas)),font=("bold",15),bg="Wheat").pack(side="top",expand=1,fill="x")
        
        tk.Button(self.lf2,text="導(dǎo)出數(shù)據(jù)",command=beifen,width=15).pack(side="bottom",expand=0,padx=5,pady=2,)

    def totale(self):
        cur = self.con.cursor()
        for i, k in self.newlabelsdict.items():
            lf21=tk.LabelFrame(self.lf2,text=i)
            lf21.pack(side="top",fill="both",expand=1,pady=1)
            table=self.creat_tree(lf21,k)
            sqldoc="SELECT * FROM {} ".format(self.new_zh_col.get(i,None))
            cur.execute(sqldoc)
            datas=cur.fetchall()
            self.tree_insert(table,datas)

    def regret(self):
        def eat():
            self.con.rollback()
            messagebox.showinfo("回到從前","女王大人,我們再次回到了從前")

        tk.Label(self.lf2,text="女王陛下,該吃藥了??!",font=("bold",30,),bg="Wheat").pack(side="top",expand=1,fill="x")
        tk.Button(self.lf2,text="立即嗑藥",command=eat,width=15).pack(side="bottom",expand=0,padx=5,pady=2,)
       
        
        
       



if __name__ == "__main__":

    if not os.path.exists("mydata"):
        os.mkdir("mydata")

    root  = tk.Tk()
    # root.option_add("*Font", "微軟雅黑")
    root.iconbitmap('crown.ico')
    root.title("女王的寶庫")
    # root.attributes("-alpha", 0.9)透明度設(shè)置,奈何女神不需要
    root.geometry("{}x{}+{}+{}".format(root.winfo_screenwidth()//2,root.winfo_screenheight()//2,root.winfo_screenwidth()//4,root.winfo_screenheight()//4))
    app=App(root)
    app.mainloop()
 

到此這篇關(guān)于Python實現(xiàn)簡易信息分類存儲軟件的文章就介紹到這了,更多相關(guān)Python信息分類存儲軟件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 簡單介紹Python的第三方庫yaml

    簡單介紹Python的第三方庫yaml

    今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識,文章圍繞著Python的第三方庫yaml展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Python?Decorator的設(shè)計模式演繹過程解析

    Python?Decorator的設(shè)計模式演繹過程解析

    本文主要梳理了Python?decorator的實現(xiàn)思路,解釋了為什么Python?decorator是現(xiàn)在這個樣子,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Python+Turtle繪制可愛的多啦A夢的示例代碼

    Python+Turtle繪制可愛的多啦A夢的示例代碼

    這篇文章主要介紹了如何利用python中的Turtle模塊繪制一個童年記憶的卡通人物哆啦A夢,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-03-03
  • Python?生成多行重復(fù)數(shù)據(jù)的方法實現(xiàn)

    Python?生成多行重復(fù)數(shù)據(jù)的方法實現(xiàn)

    本文主要介紹了Python?生成多行重復(fù)數(shù)據(jù)的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Ubuntu 16.04 LTS中源碼安裝Python 3.6.0的方法教程

    Ubuntu 16.04 LTS中源碼安裝Python 3.6.0的方法教程

    最近Python 3發(fā)布了新版本Python 3.6.0,好像又加入了不少黑魔法!由于暫時不能使用 apt-get 的方式安裝 Python 3.6,所以還是直接編譯源碼安裝吧。下面這篇文章就介紹了在Ubuntu 16.04 LTS中源碼安裝Python 3.6.0的方法教程,需要的朋友可以參考下。
    2016-12-12
  • python?如何求N的階乘

    python?如何求N的階乘

    這篇文章主要介紹了python?如何求N的階乘,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python運維開發(fā)之psutil庫的使用詳解

    Python運維開發(fā)之psutil庫的使用詳解

    這篇文章主要介紹了Python運維開發(fā)之psutil庫的使用,psutil能夠輕松實現(xiàn)獲取系統(tǒng)運行的進(jìn)程和系統(tǒng)利用率。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • 如何利用pycharm進(jìn)行代碼更新比較

    如何利用pycharm進(jìn)行代碼更新比較

    這篇文章主要介紹了如何利用pycharm進(jìn)行代碼更新比較,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • python下paramiko模塊實現(xiàn)ssh連接登錄Linux服務(wù)器

    python下paramiko模塊實現(xiàn)ssh連接登錄Linux服務(wù)器

    這篇文章主要介紹了python下paramiko模塊實現(xiàn)ssh連接登錄Linux服務(wù)器的方法,實例分析了paramiko模塊實現(xiàn)ssh連接的具體用法,需要的朋友可以參考下
    2015-06-06
  • numpy按列連接兩個維數(shù)不同的數(shù)組方式

    numpy按列連接兩個維數(shù)不同的數(shù)組方式

    今天小編就為大家分享一篇numpy按列連接兩個維數(shù)不同的數(shù)組方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評論

祁门县| 龙井市| 老河口市| 阿克陶县| 普定县| 万全县| 和林格尔县| 中卫市| 东城区| 屏东县| 宁武县| 郓城县| 平安县| 牡丹江市| 建宁县| 宁城县| 黔东| 罗江县| 永丰县| 梨树县| 梅河口市| 黎川县| 丰县| 浦东新区| 沧州市| 梓潼县| 苏州市| 沙坪坝区| 略阳县| 延津县| 琼中| 银川市| 拉孜县| 葫芦岛市| 碌曲县| 阜阳市| 青川县| 襄垣县| 客服| 清涧县| 工布江达县|