Rumah > Artikel > pembangunan bahagian belakang > Python 数据流操作
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()
Atas ialah kandungan terperinci Python 数据流操作. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!