范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Python文件及目录处理方法

  Python可以用于处理文本文件和二进制文件,比如创建文件、读写文件等操作。本文介绍Python处理目录以及文件的相关方法。
  下面先来介绍python目录处理相关方法。 目录操作1. 获取当前代码路径
  test_folder.py import os import sys  print(__file__) print(sys.argv[0]) print(os.path.realpath(__file__)) print(os.path.abspath(sys.argv[0]))
  Out: D:/ProgramWorkspace/PythonNotes/03-File-Handling/test_folder.py D:/ProgramWorkspace/PythonNotes/03-File-Handling/test_folder.py D:ProgramWorkspacePythonNotes3-File-Handling	est_folder.py D:ProgramWorkspacePythonNotes3-File-Handling	est_folder.py 2. 获取当前文件__file__的所在目录print(os.getcwd()) print(os.path.dirname(os.path.realpath(__file__))) print(os.path.split(os.path.realpath(__file__))[0]) path = os.path.dirname(os.path.realpath(__file__))
  Out: D:ProgramWorkspacePythonNotes3-File-Handling D:ProgramWorkspacePythonNotes3-File-Handling D:ProgramWorkspacePythonNotes3-File-Handling 3. 获取当前文件名名称print(os.path.basename(sys.argv[0])) # 当前文件名名称 print(os.path.basename(__file__))
  Out: test_folder.py test_folder.py 4. 拼接路径path = os.path.dirname(os.path.realpath(__file__)) filename = os.path.basename(__file__) abspath = os.path.join(path, filename) print(abspath)
  Out: D:ProgramWorkspacePythonNotes3-File-Handling	est_folder.py 5. 创建目录
  判断目录是否存在: os.path.exists(path)
  创建目录 if not os.path.exists(path):      print(f"创建文件夹: {path}")     os.makedirs(path) 文件操作1. 创建文本文件text = "Hello World!" newfilepath = os.path.join(path, "newfile.txt") file = open(newfilepath, "w") file.write(text)  # 写入内容信息 file.close() 2. 判断文件是否存在print(os.path.isfile(path))  print(os.path.isfile(newfilepath)) print(os.path.exists(newfilepath))
  Out: False True True
  os.path.isfile   用于判断是否为文件且是否存在,os.path.exists   也可以用于判断文件是否存在,但还是建议使用os.path.isfile   判断文件,os.path.exists   判断目录是否存在。比如,某个文件为newfile,使用这两个方法都会返回True,无法判断到底是文件还是目录。3. 判断文件属性print(os.access(newfilepath,os.F_OK)) # 文件是否存在 print(os.access(newfilepath,os.R_OK)) # 文件是否可读 print(os.access(newfilepath,os.W_OK)) # 文件是否可以写入 print(os.access(newfilepath,os.X_OK)) # 文件是否有执行权限
  Out: True True True True
  os.access(newfilepath,os.F_OK)   也可以用于判断文件是否存在。4. 打开文件
  打开文本文件或者二进制文件可以使用  open()   方法:f = open(filename, mode)
  几种文件打开模式: b  :二进制模式t  :文本模式(默认)r  : 打开存在的文件,读操作(默认)。w  : 打开文件,写操作,先前文件中的内容会被删除。如果文件不存在会自动创建。a  : 打开文件,追加操作,不会删除先前文件中的内容。如果文件不存在会自动创建。x  :创建新文件,写操作,使用此模式打开存在的文件会抛出异常。r+  : 读、写操作,不会删除先前文件中的内容,但是会覆盖内容。w+  : 写、读操作,会删除先前文件中的内容。a+  : 追加、读操作,不会删除和覆盖先前文件中的内容。x+   :创建新文件,读写操作。
  open()  方法的默认模式为 rt   模式,也就是读文本文件。
  另外需要注意filename的写法,比如文件路径是: D:	est.txt   ,其中	   可能会被转义,需要自前面加一个 r   :f = open(r"D:	est.txt", "w") 5. 写文件
  读写文件都需要先打开文件,返回一个文件对象,然后对文件对象进行读写操作。写文件需要设置写权限,比如  w  、w+  、a   模式。
  写文件主要包括两种方法: file.write(str)  :写入字符串file.writelines(list)  :写入字符串列表,用于同时插入多个字符串。
  举个栗子: file = open("newfile.txt", "w") text1 = "Hello World! 你好,世界!r" file.write(text1)  # 写入内容信息  text2 = ["To the time to life,  ", "rather than to life in time.r"] file.writelines(text2)  file.close()
  w   模式会删除先前文件中的内容,如果不想删除,需要直接追加到后面,可以使用a   和 a+   模式:file = open("newfile.txt", "a") 6. 读文件
  常见的读取文件方法有以下几种: in操作符 read():读取所有数据,返回一个字符串。 readline():读取第一行 readlines():读取所有行,每行保存为列表的一个元素。 # 打开并读取文件 file = open("newfile.txt", "r")  for line in file: 	print(line) print()  file.seek(0, 0) print(file.read(5))  #  print()  file.seek(0, 0) print(file.readline(12)) print()  file.seek(0, 0) print(file.readlines()) print()  file.close()
  执行结果: Hello World!  你好,世界!  To the time to life,   rather than to life in time.   Hello  Hello World!  ["Hello World! ", "你好,世界! ", "To the time to life,  ", "rather than to life in time. "]
  读取file对象的所有内容后,文本的光标会移动到最后,再次读取file需要将光标移到前面,使用  file.seek(0, 0)   方法可以将光标移到前面。还有一种解决方案是将读取的内容存一个在局部变量中。7. with语句
  with语句可用于异常处理,可以确保资源的适当获取及自动释放。使用with语句后就不需要调用 file.close()   语句了,它会自动释放。text1 = "Hello World! 你好,世界!r" text2 = ["To the time to life,  ", "rather than to life in time.r"] # 写 with open("newfile.txt", "w") as file:     file.write(text1)     file.writelines(text2)  # 读 with open("newfile.txt", "r+") as file: 	print(file.read())
  with语句对处理大文件非常有用,比如10G大小的文件, with语句会进行上下文管理。
  --THE END--

美的冰箱新产业园首台冰箱正式下线智慧大脑统一调配,工业互联网数字孪生可视化平台上,成型机挤板机发泡机钣金冲床等环节生产运行情况一目了然继3月30日,入选全球灯塔工厂名单后,美的冰箱荆州工厂再度传来喜讯4月19日,腾讯QQ堂正式停服,一代人的青春落幕了4月20日,腾讯QQ堂正式关闭中国大陆的服务器,随着断开连接字样出现在游戏屏幕上,为了情怀重新打开游戏的玩家感叹中国互联网国民休闲游戏一代霸主落幕了。2004年,腾讯正式推出大型网远东控股国际(00036)出售807万股恒大新能源汽车股份及3000万股拉近网娱股份套现3810万港元智通财经APP讯,远东控股国际(00036)公布,于2021年6月29日及2021年11月12日,该集团场内出售合共恒大新能源汽车(00708)的807万股股份,总代价约为港币30十余年潜心国际教育,哈佛女CEO用教育和科技赋能下一代大家好,我是敏敏老师,毕业于哈佛大学,在哈佛设有同名本科奖学金。我在很多城市都工作和生活过,包括波士顿北京新加坡瑞士香港,最后回到自己长大的城市深圳,并潜心国际教育钻研和创业直到今曹操出行用户数破亿进军专车市场主打新能源牌21世纪经济报道记者陶力上海报道网约车行业进入存量市场之后,更加专注的细分和运营,成为各平台下一步的战略方向。日前,曹操出行发布了两条新的产品线曹操专车曹操惠选。该公司CEO龚昕对坏消息接踵而来,美媒曝光美国罪行,苹果公司面临欧盟反垄断重拳大家好,欢迎收看本期节目!自从美国获得全球霸主的地位后,就始终以超级大国世界警察等身份自居,在美国的横行霸道之下,世界各国经常是不得安生,甚至有调侃称世界乱不乱美国说了算,可见美国真我Q5系列今日发布realme真我Q5系列正式发布,配置如下真我Q5i采用6。58英寸1080PLCD水滴屏,90Hz刷新率,180Hz采样率,激发峰值亮度600nit天玑810处理器,侧边指纹识别最新卫星观测全球沿海城市正在下沉菲律宾的马尼拉是地球上下沉最快的城市之一,一些地区的下沉率高达每年1。5厘米。沉降使海岸线更容易受到海平面上升的影响卫星观测显示,全球沿海城市平均每年下沉数厘米。研究人员在4月16苹果iPhone14最新曝光!这样的外观配置价格你心动了吗?大家好,欢迎来到法斗科技。说起苹果手机,大家第一时间想到出色的外观,强悍的性能,高高的逼格,当然还有让很多普通消费者望而却步的价格,而每每随着苹果发布新手机的半年后,各界都在猜测苹刘强东Pk司马南,干比说实际更有力量刘强东人称东哥,京东创始人司马南原名于力,干自媒体,干得不错那种。人嘛,有对有错有好有坏都属正常。东哥以前在美国有过一点破事,现在几乎无人提起司马南几十年前打假王林伪气功,现在他的Linux文件解压复制和移动的若干坑Linux下进行文件的解压复制移动应该是最常见的操作了。尤其是我们在项目中使用大量的数据集文件(比如机器学习)文件。然而使用这些命令时一不留神就会掉进坑里,这篇文章我们就来细数用S
闹市12公里自动驾驶零接管,ARCFOX极狐阿尔法S华为HI版真能打?17号早上,我们在浦东新区的主干道次干道,甚至是人车混流的居民区里面,坐着一辆搭载华为自动驾驶技术的ARCFOX极狐阿尔法S华为HI版,走了12公里,全程零干预(以下简称阿尔法S)想做收纳,又想省钱,隔板了解一下隔板,简单实用又省钱的墙面收纳方法。很多人觉得在墙上钻几个洞,再把隔板安装固定在上面就完事了,但既然安装在墙上,美观也很重要,毕竟咱要追求的是实用美。把隔板玩出各种花样,用隔板让家遇到暗卫先别慌,改造做到这4点,告别黑潮臭俗话说谈虎色变,而在装修上,则是谈暗卫暗厨色变。暗厨可以敲墙做开放式厨房,而暗卫却很难,因为卫生间涉及的问题很多,例如通风采光潮湿异味等问题,需要一一解决才能愉快的使用卫生间。而且承认吧,不做收纳规划的家,真的容易乱家庭收纳应该如何处理收纳总是被认为只与日常收拾整理有关,殊不知,在住宅设计初期就应该被涵盖其中,只不过时常被遗忘罢了。所以,频繁收拾又频繁零乱可能真的不是你的错,而是前期设计时忘记养护花草绿植的最优选择,应该是这四款花盆脱离了花瓶,是否有另一种容器可供选择,养护喜欢的花草绿植?答案是肯定的,如同植物类型的多样,容器的选择也很多样。就拿花盆来说,不似花瓶那般被人捧在手心里,小心翼翼的观赏,而是盛满了开放式衣帽间,重建衣物收纳的视觉感都市青年对住宅空间的要求变高了,传统的空间布局及功能分布已经无法满足他们对于住宅的期许,在循规蹈矩与创新个性这项选择上,普遍倾向于后者。就拿衣帽间设计来说,他们不再纠结于原有的封闭选蹲坑还是选马桶?装修时,大部分人都在纠结这个问题,而且有人总会自己脑补一些事别人家都装马桶蹲坑早过时了蹲坑影响卫生间颜值拉低档次等等,然后选择了马桶。但习惯用蹲坑的朋友依然不在少数,另外在自个家使长虹玻璃爆红,你却不知道是什么?千呼万唤始出来,犹抱琵琶半遮面给人一种含蓄朦胧的美感。而在家装界,长虹玻璃是朦胧设计美学的代表,但仍然有很多人不知道长虹玻璃是什么,第一次听到甚至以为是长虹牌玻璃。因此,今天我们来以玻璃砖为题,予住宅别样的时髦感面对一成不变的住宅设计,是否会突然萌发出对于个性创意的向往?今天,我们就以创意为切口,来聊聊如何让住宅变得有趣和灵动。本次创意载体,我们选中了有建筑小精灵之称的玻璃砖,通过设计手法亚克力,家居界的材料新宠想要设计的空间在最终呈现的时候有强烈视觉效果,除了靠专业的设计手法以外,还要靠一些材料的创新和运用,来增强视觉的印象,给空间带来惊喜。就拿近期常驻空间的嘉宾亚克力来说,这种带有水晶小鹏1024全记录800V超充城市NGP,还有2024年上天的飞行汽车关注并标星电动星球News每天打卡阅读更深刻理解汽车产业变革出品电动星球News作者胖飞同学今天是小鹏汽车成立以来的第三届1024科技日,既然是科技日,那话题必然和小鹏这家公司接下