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)
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()
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)
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中文網其他相關文章!