视窗
loading...
您现在的位置:首页 > IT认证 > Linux认证 >

Python常见文件操作的函数示例


# -*-coding:utf8 -*-

  ''''' Python常见文件操作示例

  os.path 模块中的路径名访问函数分隔basename() 去掉目录路径, 返回文件名dirname() 去掉文件名, 返回目录路径join() 将分离的各部分组合成一个路径名split() 返回 (dirname(), basename()) 元组splitdrive() 返回 (drivename, pathname) 元组splitext() 返回 (filename, extension) 元组

  信息getatime() 返回最近访问时间getctime() 返回文件创建时间getmtime() 返回最近文件修改时间getsize() 返回文件大小(以字节为单位)

  查询exists() 指定路径(文件或目录)是否存在isabs() 指定路径是否为绝对路径isdir() 指定路径是否存在且为一个目录isfile() 指定路径是否存在且为一个文件islink() 指定路径是否存在且为一个符号链接ismount() 指定路径是否存在且为一个挂载点samefile() 两个路径名是否指向同个文件

  os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false os.path.isfile(name):判断name是不是一个文件,不存在name也返回false os.path.exists(name):判断是否存在文件或目录name os.path.getsize(name):获得文件大小,如果name是目录返回0L os.path.abspath(name):获得绝对路径os.path.normpath(path):规范path字符串形式os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)

  os.path.splitext():分离文件名与扩展名os.path.join(path,name):连接目录与文件名或目录os.path.basename(path):返回文件名os.path.dirname(path):返回文件路径

  os模块中的文件操作:os 模块属性linesep 用于在文件中分隔行的字符串sep 用来分隔文件路径名的字符串pathsep 用于分隔文件路径的字符串curdir 当前工作目录的字符串名称pardir (当前工作目录的)父目录字符串名称

  1.重命名:os.rename(old, new)

  2.删除:os.remove(file)

  3.列出目录下的文件:os.listdir(path)

  4.获取当前工作目录:os.getcwd()

  5.改变工作目录:os.chdir(newdir)

  6.创建多级目录:os.makedirs(r"c:pythontest")

  7.创建单个目录:os.mkdir("test")

  8.删除多个目录:os.removedirs(r"c:python") #删除所给路径最后一个目录下所有空目录。

  9.删除单个目录:os.rmdir("test")

  10.获取文件属性:os.stat(file)

  11.修改文件权限与时间戳:os.chmod(file)

  12.执行操作系统命令:os.system("dir")

  13.启动新进程:os.exec(), os.execvp()

  14.在后台执行程序:osspawnv()

  15.终止当前进程:os.exit(), os._exit()

  16.分离文件名:os.path.split(r"c:pythonhello.py") ——> ("c:\python", "hello.py")

  17.分离扩展名:os.path.splitext(r"c:pythonhello.py") ——> ("c:\python\hello", ".py")

  18.获取路径名:os.path.dirname(r"c:pythonhello.py") ——> "c:\python"

  19.获取文件名:os.path.basename(r"r:pythonhello.py") ——> "hello.py"

  20.判断文件是否存在:os.path.exists(r"c:pythonhello.py") ——> True

  21.判断是否是绝对路径:os.path.isabs(r".python") ——> False

  22.判断是否是目录:os.path.isdir(r"c:python") ——> True

  23.判断是否是文件:os.path.isfile(r"c:pythonhello.py") ——> True

  24.判断是否是链接文件:os.path.islink(r"c:pythonhello.py") ——> False

  25.获取文件大小:os.path.getsize(filename)

  26.*******:os.ismount("c:\") ——> True

  27.搜索目录下的所有文件:os.path.walk()

  shutil模块对文件的操作:1.复制单个文件:shultil.copy(oldfile, newfle)

  2.复制整个目录树:shultil.copytree(r".setup", r".backup")

  3.删除整个目录树:shultil.rmtree(r".backup")

  临时文件的操作:1.创建一个唯一的临时文件:tempfile.mktemp() ——> filename

  2.打开临时文件:tempfile.TemporaryFile()

  内存文件(StringIO和cStringIO)操作[4.StringIO] #cStringIO是StringIO模块的快速实现模块

  1.创建内存文件并写入初始数据:f = StringIO.StringIO("Hello world!")

  2.读入内存文件数据:print f.read() #或print f.getvalue() ——> Hello world!

  3.想内存文件写入数据:f.write("Good day!")

  4.关闭内存文件:f.close()

  ''' import os import os.path import unittest import time #import pygame

  class PyFileCommonOperatorTest(unittest.TestCase):def __init__(self):"""constructor"""

  def test01(self):print os.linesep print os.sep print os.pathsep print os.curdir print os.pardir print os.getcwd()

  print 'unittest here'

  if __name__ == "__main__":t = PyFileCommonOperatorTest()

  t.test01()

  view plainprint?

  view plainprint?

  #读文件的写法:#读文本文件:input = open('data', 'r')#第二个参数是默认的,可以不加#读二进制文件:input = open('data', 'rb')

  #读取所有文件内容:open('xxoo.txt')。read()

  #读取固定字节open('abinfile', 'rb')。read(100)

  #读每行file_object.readlines()

闂傚倷绶氬ḿ褍螞濞嗘挸绀夐柡鍥ュ灩閸屻劑鏌曢崼婵囧閻庢艾顭烽弻銊モ攽閸℃ê鐝旂紓浣瑰敾缂嶄線寮婚敓鐘茬妞ゆ劧瀵岄埀顒侇殜閺岀喖鎽庨崒姘ギ闂佽鍟崶褔鍞堕梺缁樻煥閹芥粎绮旈鍕厽闁绘ê寮堕幖鎰版煟鎺抽崝灞藉祫闂佺鎻粻鎴g箽闂備浇娉曢崳锕傚箯閿燂拷
闂傚倷绀侀幖顐︽偋濠婂牆绀堟繛鎴欏灪閸嬬喐銇勯弽顐沪闁绘帡绠栭弻鏇熺箾閸喖濮庨梺璇叉唉椤曆嗗絹闂佹悶鍎荤徊鑺ユ櫠閹绘崡褰掓偂鎼淬垹娈楅悗娈垮枛閻栧吋淇婇悜鑺ユ櫆闁告挆鍐帗婵犵數鍋涢悺銊у垝瀹€鈧懞閬嶆嚃閳哄嫬小婵炲鍘ч悺銊╁吹閸岀偞鐓涢柛鎰╁妼閳ь剝宕电划鏃囥亹閹烘挾鍙嗗┑鐐村灱濞呮洜鈧熬鎷�闂備浇顕уù鐑藉极閹间降鈧焦绻濋崑顖氱秺瀹曞崬螣鐠囧樊娼梻浣风串缁蹭粙寮甸鍕仼闁告鍊戞惔銊ョ倞闁挎繂鎳庨埛澶嬬箾鐎电ǹ甯堕柟铏耿閻涱喚鈧綆鍠栫粻锝嗙節婵犲倸顏柟鏋姂濮婃椽宕ㄦ繝鍐f嫻缂備礁顑嗙敮锟犲箚閸ャ劌顕遍柡澶嬪灥閸炪劑姊洪幖鐐插姌闁告柨绉归敐鐐哄冀椤儱閰e畷鍫曟晲閸涱厸鎷ゅ┑鐐差嚟閸樠囧箠濮椻偓楠炲棝宕橀鑲╊槹濡炪倖鍔戦崹娲儊閺冣偓缁绘繈濮€閿濆棛銆愰柣搴㈣壘閹芥粌危閹扮増鏅搁柨鐕傛嫹闂傚倷鑳堕幊鎾绘偤閵娾晛鍨傞柛鎰ゴ閸亪鏌熺€电ǹ小闁绘帒锕ら埞鎴︽偐閸欏鎮欏┑鐐叉噷閸ㄥ綊婀侀梺鎸庣箓濡盯鎯屾惔銊︾厓鐟滄粓宕滃▎鎾崇疇闁归偊鍏橀弸鏃堟煙鏉堥箖妾柛瀣儔閺屾盯顢曢妶鍛€剧紓鍌氱М閸嬫捇姊绘担鐟扮亰闁绘帪绠撴俊鐢告倷閻㈢數顦梺鍝勫暙閻楀棛鐥閺屾盯骞囬娑氥€婄紓浣插亾闁跨噦鎷�闂備浇顕х花鑲╁緤婵犳熬缍栧鑸靛姇閸ㄥ倹绻濇繝鍌氼伀妞も晠鏀遍妵鍕箳閹存繃娈茬紓浣风贰閸o絽顕i崼鏇熷€烽柛顭戝亝閻濐亜鈹戦悙鑼闁搞劌澧庣划姘舵焼瀹ュ懐鍔撮梺鍛婂壃閸涱垼妲繝鐢靛Х椤d粙鍩€椤掆偓閸熷潡鍩€椤掑倹鍤€闁挎洏鍨洪幏鍛村礈閹绘帗顓块梻浣呵归張顒傛崲瀹ュ鑸归柟缁㈠枟閻撴瑩鎮楀☉娆嬬細濠⒀屽墯缁绘繈鍩€椤掍焦濯撮柛锔诲幘閹虫繈姊洪崜鑼帥闁稿鎳愮槐鐐哄焵椤掑嫭鈷戦柣鐔稿閹界娀鏌eΔ鍐ㄤ户闁瑰箍鍨归~婵嬵敄閼恒儳浜欓梻浣告惈濞诧箓鎯岄鐐床闁糕剝绋掗悡娆愩亜閹炬鍟版禒鏉戭渻閵堝棙澶勯柛鎾跺枎閻g兘鏁愰崱娆戠槇闂佸憡鍔忛弲鈺佄i鐐粹拺闁奸€涘嵆閸濈儤鎱ㄦ繝鍌ょ吋闁哄苯鐗撻獮姗€顢欓懖鈺婂悈闂備胶鎳撻悺銊у垝瀹ュ洤鍨濋柨鏇炲€归悡銉︾箾閹寸倖鎴濓耿閻楀牏绡€闁逞屽墴楠炲秹顢欓幆褍瑙︽繝鐢靛仜濡霉妞嬪海鐜绘俊銈呭暟绾惧ジ鏌¢崒娑卞劌闁稿骸绻掗埀顒冾潐閹哥ǹ螞濠靛棛鏆︽慨妯垮煐閸嬫劗绱撴担璐細鐟滅増鍨垮娲箰鎼粹€虫灆闂佺懓鍤栭幏锟�闂備浇顕уù鐑藉极閹间礁绠犻柟鎹愬煐閺嗘粍銇勯幇鍓佺暠缂佲偓閸℃ḿ绠鹃柟瀵镐紳椤忓牆鏋侀柛顐f礃閸婄數鐥鐐村婵炲吋鍔欓弻娑㈠Ω閿斿墽鐓佺紓浣稿€圭敮锟犮€佸Δ浣瑰缂佸鏅濋锔解拺閻熸瑥瀚欢鑼磼缂佹ê鐏寸€殿噮鍋婇、娆撴偩瀹€濠冪カ婵犳鍠楅妵娑㈠磻閹剧粯鐓冪憸婊堝礈濞嗘挸纾归柛婵勫劤缁€濠囨倵閿濆骸鏋熼柛搴$Ч閺屾盯寮撮妸銉ョ瑢閻熸粎澧楃敮妤呮偂閳ь剙顪冮妶鍡楃瑨闁挎洩濡囩划鍫ユ晸閿燂拷闂傚倷娴囨竟鍫熴仈缁嬫娼栧┑鐘崇閻掗箖鏌熺紒銏犳灈婵☆偅锕㈤弻锝夋偄缁嬫妫嗙紒缁㈠幐閸嬫捇姊绘担鐟邦嚋缂佸甯掗悾婵嬪箹娴e摜锛涢梺鍝勭Р閸斿酣銆呴悜鑺ョ叆闁绘洖鍊圭€氾拷:webmaster@jscj.com闂傚倷绶氬ḿ褍螞瀹€鍕;闁瑰墽绮悡鐔搞亜椤愵偄骞樼紒浣哄厴閺岋綁鏁傜捄銊х厯闂佽桨绀佺粔褰掑极閹剧粯鏅搁柨鐕傛嫹4008816886

相关文章

无相关信息
更新时间2022-03-13 11:05:09【至顶部↑】
联系我们 | 邮件: webmaster@jscj.com | 客服热线电话:4008816886(QQ同号) |  濠电儑缍€椤曆勬叏閻愮鍋撻獮鍨仾婵犫偓閸パ屽殫妞ゆ棁顔婄换锟�

付款方式留言簿投诉中心网站纠错二维码手机版

客服电话: