文章目录

  • 跨平台处理方式
  • Windows平台
  • Linux平台
  • 打开文件
  • File对象的属性
  • 阅读文件
  • 写入文件
  • 关闭文件与with声明
  • 参考

跨平台处理方式

获得当前文件夹的绝对路径,如下:

import os
path1=os.path.abspath('.')   #表示当前所处的文件夹的绝对路径
path2=os.path.abspath('..')  #表示当前所处的文件夹上一级文件夹的绝对路径

所以我们常设置一个path1的全局变量来表示当前的绝对路径,再加上相对路径来打开需要打开的文件,这么做是为了在不同的平台上不冲突,因为不同平台在相对路径上的表示上存在区别。

Windows平台

我们常用’/‘来表示相对路径,’\‘来表示绝对路径,上面的路径里\是转义的意思.

前两个都是相对路径,第三个则是绝对路径。

open('aaa.txt')
open('/data/bbb.txt')
open('D:\\user\\ccc.txt')#D:\user\aaa.txt
#D:\user\data\bbb.txt
#D:\user\ccc.txt

Linux平台

打开文件

打开文件

如果你要对一个文件进行读或写,你必需先用Python内置的open函数打开它,创建一个文件对象File Object,你同时必需指定文件打开模式(读r,写w,还是读和写)。值得注意的是当你打开非文本文件如图片或PDF时侯,必需用rb或wb模式。b代表二进制文件。例子如下。

# 以读模式打开文本文件
txtFileObj = open('some.txt', 'r')# 以读模式打开非文本文件
pdfFileObj = open('some.pdf', 'rb')

File对象的属性

一个文件被打开后,你j就有了一个file对象,这时你可以通过以下属性得到有关该文件的各种信息,比如名字,访问模式。

属性描述file.closed返回true如果文件已被关闭,否则返回false。file.mode返回被打开文件的访问模式。file.name返回文件的名称。file.softspace如果用print输出后,必须跟一个空格符,则返回false。否则返回true。

阅读文件

阅读文件,你可以用file对象自带的read方法。例子如下:

# 打开非文本文件
txtFileObj = open('some.txt', 'r')
print(txtFileObj.read())# 打开非文本文件
pdfFileObj = open('original.pdf', 'rb')
pdfFileObj.read()########## 当你的文本文件有多行时,而你不想一次性打印出所有内容,你可以这么做。############ 以读模式打开非文本文件
txtFileObj = open('some.txt', 'r')
# 打印第5行
print(txtFileObj.read(5))
# 逐行打印
print(txtFileObj.readlines())
# 或者如下操作
for line in txtFileObj: print(line)

写入文件

要将数据写入一个文件,你必需以写或读写的模式先创建一个文件对象,然后使用write方法写入。下面是两个例子。

# 以写模式创建文件对象,然后写入
txtFileObj = open('some.txt', 'r+')
txtFileObj.write("Hello, world")
txtFileObj.close()# 以写模式打开非文本文件,然后写入
f = some_data
with open('some.pdf', 'wb+') as pdfFileObj:for chunk in f.chunks():pdfFileObj.write(chunk)

关闭文件与with声明

当你打开一个文件对象后,你一定要记住用f.close()关闭这个文件对象,这样才会释放系统资源。如果你老是忘记关闭一个文件,我们强烈建议使用python的with声明打开一个文件。这样在你完成文件读写操作后,python会自动关闭文件对象。例子如下:

# 以写模式创建文件对象,然后写入
with open('some.txt', 'r+') as txtFileObj:txtFileObj.write("Hello, world")

参考

https://zhuanlan.zhihu.com/p/37002940
https://blog.csdn.net/databatman/article/details/49453953
python,os操作文件,文件路径(上一级目录):https://blog.csdn.net/longshenlmj/article/details/13294871

  import os'''获得当前路径'''cwd=os.getcwd()print(cwd)'''得到当前文件夹下的所有文件和文件夹'''print(os.listdir())'''delete file'''os.remove('sw.vaps')print(os.listdir())'''删除单个目录和多个目录'''os.removedir()os.removedir()'''检查是否是文件/文件夹'''print(os.path.isfile('/Users/liuxiaolong/PycharmProjects/untitled/sw.vaps'))print(os.path.isdir('/Users/liuxiaolong/PycharmProjects/untitled/sw.vaps'))'''检查文件路径是否存在'''print(os.path.exists('/Users/liuxiaolong/PycharmProjects/untitled/iiii'))'''分离文件名分离扩展名'''[dirname,filename]=os.path.split('/Users/liuxiaolong/PycharmProjects/untitled/sw.vaps')print(dirname,"\n",filename)[fname,fename]=os.path.splitext('/Users/liuxiaolong/PycharmProjects/untitled/sw.vaps')print(fname,"\n",fename)'''获得文件路径获得文件名获得当前环境'''print("get pathname:",os.path.dirname('/Users/liuxiaolong/PycharmProjects/untitled/sw.vaps'))print("get filename:",os.path.basename('/Users/liuxiaolong/PycharmProjects/untitled/sw.vaps'))print(os.getenv)

python跨平台处理绝对路径和相对路径,open,with相关推荐

  1. Python 相对路径、绝对路径的写法实例演示

    Python 里的路径分相对路径和绝对路径. 绝对路径 绝对路径好理解,我们以Girl.py来举例子. 这就是它的绝对路径: "E:/Python/Lib/site_packages/Gir ...

  2. Python语言学习:利用python获取当前/上级/上上级目录路径(获取路径下的最后叶目录的文件名、合并两个不同路径下图片文件名等目录/路径案例、正确加载图片路径)之详细攻略

    Python语言学习:利用python获取当前/上级/上上级目录路径(获取路径下的最后叶目录的文件名.合并两个不同路径下图片文件名等目录/路径案例.正确加载图片路径)之详细攻略 目录 利用python ...

  3. Python编程语言学习:两行代码输出根目录下所有子文件夹的绝对路径、相对路径

    Python编程语言学习:两行代码输出根目录下所有子文件夹的绝对路径.相对路径 目录 两行代码输出根目录下所有子文件夹的绝对路径.相对路径 两行代码输出根目录下所有子文件夹的绝对路径.相对路径 #Py ...

  4. Python:更改默认启动的python程序及其对应的安装包路径(更改pip的默认安装包的路径)图文教程之详细攻略

    Python:更改默认启动的python程序及其对应的安装包路径(更改pip的默认安装包的路径)图文教程之详细攻略 目录 更改默认启动的python程序及其对应的安装包路径 1.先找到默认安装包路径

  5. python查找指定文件路径_Python寻找路径和查找文件路径的示例

    Sys.path 指定用于模块搜索路径的字符串列表 也可以通过sys模块的append方法在Python环境中增加搜索路径. Sys.path.append('/usr/bin/') /usr/lib ...

  6. python中的库及module的 路径

    python中的库及module的 路径 在python执行时,python调用的库或者模块文件,应该从哪里来加载呢? 包括了python系统的库目录.设置的环境变量PYTHONPATH:还可以在py ...

  7. python中os操作文件及文件路径

    python中os操作文件及文件路径实例汇总     1 . python获取文件上一级目录:取文件所在目录的上一级目录 os.path.abspath(os.path.join(os.path.di ...

  8. python模块使用相对路径还是绝对路径、哪种更好_python学习的第十八天模块之包、相对搜索路径和绝对搜索路径...

    一.包 1.什么是包 包是一种通过使用'.模块名'来组织python模块名称空间的方式.具体就是一个包含有__init__.py文件的文件夹,所以其实我们创建包的目的就是为了用文件夹将文件/模块组织起 ...

  9. python 获取向上两级路径_Python学习第171课--相对路径和绝对路径

    [每天几分钟,从零入门python编程的世界!] 这节我们补充2个概念:相对路径和绝对路径. ●绝对路径 就像一棵大树一样,从它的根开始,往上会有大的枝干,在大的枝干上面又会有小一点的树枝,小树枝上面 ...

  10. Python将绝对路径转换为相对路径方法实例

    本篇文章主要讲解,python绝对路径转换为相对路径的方法 作者:任聪聪 通过python转换为相对路径,实际上是有多种方法的,一般可以通过正则替换盘符,replace进行替换等等. 本次主要讲解利用 ...

最新文章

  1. 漫谈 REST 架构风格
  2. 【错误记录】记录 Android 命令行执行 Java 程序中出现的错误 ( dx 打包 PC 可执行文件报错 | dalvik 命令执行 kotlin 编译的 dex 文件报错 )
  3. plsql 记录型变量
  4. innobackup备份恢复实操步骤--gtid复制(1)(1)
  5. 教你使用Python实现新个税计算器
  6. php大量数据库抽象,PHP系列(十二)数据库抽象层pdo
  7. iOS根据模型获取模型字段以及字段的类型(用于创建数据库的表)
  8. ASPNET2.0 发布问题
  9. openSUSE-Leap-15.4-DVD-x86_64的日常使用设置
  10. 你是怎样毁掉自己的?
  11. ​华为回应出售手机业务传闻:假消息;微软将ChatGPT整合到更多工具中:不用写代码就能开发应用;苹果更新Mac产品线|极客头条...
  12. js创建对象,构造函数,this,原型,继承
  13. sublime text 修改cmd命令_Vim 命令合集
  14. 做为应届毕业生,我应该咋找工作?
  15. 交互媒体技术—2D迷宫冒险游戏
  16. m6000查看端口状态_M6000常用维护命令.doc
  17. Python实验舱谢尔宾斯基三角形绘制教程
  18. Realvnc虚拟模式下更改分辨率
  19. FL Studio2023最新中文免费版水果音乐制作软件
  20. html text加提示语

热门文章

  1. 机器阅读理解(MRC)和问答(QA)在信息抽取中的应用
  2. Flutter BindingBase服务扩展浅析
  3. Okhttp之CacheInterceptor简单分析
  4. Flink Weekly | 每周社区动态更新 - 20200107
  5. 面试题:Java对象不再使用时,为什么要赋值为null?
  6. php 松散耦合,PHP依赖注入和松散耦合
  7. abd shell关闭所有程序_带你进一步了解“终端”Shell
  8. 二分查找的代码实现--go语言
  9. JS实现键盘事件上下翻页
  10. go的string正则匹配_Go正则匹配 regexp | Go