首頁 > 後端開發 > Python教學 > Python 資料流操作

Python 資料流操作

巴扎黑
發布: 2018-05-16 14:53:35
原創
4672 人瀏覽過

Python 檔案或資料夾操作

shutil該模組提供了許多高級的多檔案和多檔案集合的操作,尤其提供了支援檔案複製和刪除的函數。
1、資料夾和檔案操作

import shutil 
shutil.copyfile(src, dst)   
 复制文件src的内容到文件dst,dst必须是完整的目标文件名,如果dst已经存在,它将会被替换 
shutil.copy(src, dst)   
 复制文件src到文件或文件夹dst。如果dst是一个文件夹,与src相同名字的文件在dst下被创建或重写。 
shutil.copytree(src, dst, symlinks=False, ignore=None) 
 递归的复制src下的整个目录到文件夹dst,dst不能是已经存在的,如果不存在,它将会被创建。 
shutil.rmtree(path) 
 删除path整个目录树内容 
os.rmdir(path)、 
 删除文件夹path,path必须是空文件夹,否则报OSError错误 
shutil.move(src, dst) 
 递归的移动src到另一个位置dst,src可以是一个文件或一个文件夹
登入後複製
登入後複製

2,遍歷資料夾下每個檔案

import osnames = os.listdir(src)for name in names:
    srcname = os.path.join(src, name)
    fo = open(srcname, 'r')    for line in fo:        print line
登入後複製
登入後複製

3,判斷資料夾是否存在,不存在則建立

if not os.path.exists(FILE_PATH):        os.makedirs(FILE_PATH)
登入後複製
登入後複製

Python 連接MySQL及基本操作

def get_conn():
    import MySQLdb    try:
        conn=MySQLdb.connect(host=HOST,user=USER,passwd=PASSWORD, port=PORT, db=DBNAME, charset=CHARSET)        return conn    except MySQLdb.Error,e:        print "Mysql Error %d: %s" % (e.args[0], e.args[1])# 插入操作def insert_one(cur,sql,value):
    res =  cur.execute(sql ,value)    # 插入成功,res 返回值为1
    if  1 != res :        print 'failed'
    else:        print 'success'def insert_many(cur,sql,values):
    res =  cur.executemany(sql ,values)    # 插入成功,res 返回值为1
    if  1 != res :        print 'failed'
    else:        print 'success'getRC = lambda cur: cur.rowcount if hasattr(cur,'rowcount')  else -1# 更新操作def update(cur,sql):
    cur.execute(sql)    return getRC(cur)# 删除操作def delete(cur,sql):
    cur.execute(sql)    return getRC(cur)# 只获取一条记录,返回的是一个元组def fetch_one(cur,sql):
    count = cur.execute(sql)
    result = cur.fetchone()    return result# 获取多条数据;返回的是二维元组def fetch_all(cur,sql):
    count = cur.execute(sql)
    results = cur.fetchall()    return results# 提交的完成操作def finish(conn):
    conn.commit()
    conn.close()
登入後複製

Python 檔案或資料夾操作

shutil此模組提供了許多進階的多檔案與多檔案集合的操作,尤其提供了支援檔案複製和刪除的函數。
1、資料夾和檔案操作

import shutil 
shutil.copyfile(src, dst)   
 复制文件src的内容到文件dst,dst必须是完整的目标文件名,如果dst已经存在,它将会被替换 
shutil.copy(src, dst)   
 复制文件src到文件或文件夹dst。如果dst是一个文件夹,与src相同名字的文件在dst下被创建或重写。 
shutil.copytree(src, dst, symlinks=False, ignore=None) 
 递归的复制src下的整个目录到文件夹dst,dst不能是已经存在的,如果不存在,它将会被创建。 
shutil.rmtree(path) 
 删除path整个目录树内容 
os.rmdir(path)、 
 删除文件夹path,path必须是空文件夹,否则报OSError错误 
shutil.move(src, dst) 
 递归的移动src到另一个位置dst,src可以是一个文件或一个文件夹
登入後複製
登入後複製

2,遍歷資料夾下每個檔案

import osnames = os.listdir(src)for name in names:
    srcname = os.path.join(src, name)
    fo = open(srcname, 'r')    for line in fo:        print line
登入後複製
登入後複製

3,判斷資料夾是否存在,不存在則建立

if not os.path.exists(FILE_PATH):        os.makedirs(FILE_PATH)
登入後複製
登入後複製

Python 連接MySQL及基本操作

def get_conn():
    import MySQLdb    try:
        conn=MySQLdb.connect(host=HOST,user=USER,passwd=PASSWORD, port=PORT, db=DBNAME, charset=CHARSET)        
        return conn    except MySQLdb.Error,e:        
        print "Mysql Error %d: %s" % (e.args[0], e.args[1])# 插入操作def insert_one(cur,sql,value):
    res =  cur.execute(sql ,value)    # 插入成功,res 返回值为1
    if  1 != res :        print 'failed'
    else:        print 'success'def insert_many(cur,sql,values):
    res =  cur.executemany(sql ,values)    # 插入成功,res 返回值为1
    if  1 != res :        print 'failed'
    else:        print 'success'getRC = lambda cur: cur.rowcount if hasattr(cur,'rowcount')  
    else -1# 更新操作def update(cur,sql):
    cur.execute(sql)    return getRC(cur)# 删除操作def delete(cur,sql):
    cur.execute(sql)    return getRC(cur)# 只获取一条记录,返回的是一个元组def fetch_one(cur,sql):
    count = cur.execute(sql)
    result = cur.fetchone()    return result# 获取多条数据;返回的是二维元组def fetch_all(cur,sql):
    count = cur.execute(sql)
    results = cur.fetchall()    return results# 提交的完成操作def finish(conn):
    conn.commit()
    conn.close()
登入後複製

以上是Python 資料流操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板