os模块提供了大量的文件和目录操作方法函数。

读取文件获取目录一个常见的问题就是无法显示中文目录,网上找的解决方法均是通过重新设置编码方式,通过重新加载sys,设置系统编码方式

import os
import sys
reload(sys)
print "系统默认编码方式:",sys.getdefaultencoding()sys.setdefaultencoding('utf8')
print "设置后系统的编码方式:",sys.getdefaultencoding()print(os.path.abspath('coutry.txt'))

发现有个系统编码,win7和win10都是使用的是GBK编码,查询编码方式,在Windows平台下,进入DOS窗口,输入:chcp

936对应的编码格式为GBK。或者使用进入DOS窗口,在标题栏右键/属性,显示当前代码页为936--简体中文GBK

那如何获取当前文件的编码格式呢,使用chardet库中的detect()函数

import os
import sys
import chardet
print "系统默认编码方式:",sys.getdefaultencoding()print(chardet.detect(os.path.abspath('coutry.txt')))

发现使用的是GB2312编码方式,所以对于中文乱码,就可以应当对每一个文件路径做编码转换 很简单 就是先按照 GB2312 decode 然后再按照 UTF-8 encode即可。

import os#获取绝对路径
print(os.path.abspath('coutry.txt').decode('GBK').encode('utf-8'))

获取绝对路径的方法还有一个os.path._getfullpathname()函数

print(os.path._getfullpathname('coutry.txt'))

那如何获取当前文件所在的目录呢?看以下实例

import os#获取绝对路径
print(os.path.abspath('coutry.txt').decode('GBK').encode('utf-8'))
#获取目录
print(os.path.dirname('coutry.txt'))
print(os.path.dirname('G:\资料\自动化测试\Exercise\XML\coutry.txt'))print(os.path.dirname(os.path.abspath('coutry.txt').decode('GBK').encode('utf-8')))

abspath 可以打印出绝对路径(包含文件名):G:\资料\自动化测试\Exercise\XML\coutry.txt

dirname()如果只是给出文件的绝对路径,才能返回出具体的路径值,如果参数为文件名,则返回为空

os.path.dirname(os.path.dirname)获得文件的目录

那这样获取文件目录就有点麻烦,可以使用os模块中getcwd()获取当前文件目录

import osprint(os.path.dirname(os.path.abspath('coutry.txt').decode('GBK').encode('utf-8')))print(os.getcwd().decode('GBK').encode('utf-8'))

有篇不错的介绍推荐一下,见介绍

Python os模块常用介绍相关推荐

  1. python os模块 常用命令

    os 模块用法示例 python编程时,经常和文件.目录打交道,这是就离不了os模块.os模块包含普遍的操作系统功能,与具体的平台无关.以下列举常用的命令 1. os.name()--判断现在正在实用 ...

  2. python系统-Python OS模块常用功能 中文图文详解

    一.Python OS模块介绍 OS模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作. 可以查看OS模块的帮助文档: >>> i ...

  3. Python os模块常用命令

    1.os.name---判断现在正在实用的平台,Windows返回'nt':linux返回'posix' 2.os.getcwd()---得到当前工作的目录. 3.os.listdir()--- 4. ...

  4. 转载: Python os 模块的功能以及子函数介绍

    原文链接: python之os模块 - 程序生(Codey) - 博客园 https://www.cnblogs.com/cxscode/p/8085326.html 一.Python OS模块介绍 ...

  5. Python os模块文件操作(一)

    Python os模块文件操作(一) 一.文件描述符 在使用代码对文件进行操作时,为了指定操作的文件,避免不了要使用文件描述符,所以我们先介绍什么是文件描述符. 操作系统为了高效管理已经被打开的文件, ...

  6. Python学习笔记四(Python OS模块)

    Python os模块提供了一个统一的操作系统接口函数,通过python os模块可以实现对系统本身的命令,文件,目录进行操作,官方参考文档( http://docs.python.org/libra ...

  7. python os模块下载_Python OS模块目录文件处理

    Python编程语言优势特点比较突出,在Python语言中,有一种标准模块叫OS模块,Python OS模块包含普遍的操作系统功能,如果你希望你的程序能够与平台无关的话,这个模块尤为重要,它允许一个程 ...

  8. Python os模块文件操作(二)

    Python os模块文件操作(二) os模块对文件夹和文件的操作很多.可以先看: https://blog.csdn.net/weixin_43790276/article/details/9867 ...

  9. Python os模块 -Python系统编程中的操作模块

    Python os模块 -Python系统编程中的操作模块 用途:处理(文件与目录)操作 以下为简单的常用操作 import os 导入os模块 help(os) 查看os模块帮助文档 os.name ...

最新文章

  1. 项目管理沙龙第七次聚会纪要
  2. C语言中, 有些时候数值名并不与指针等价.
  3. 模式识别与智能系统和计算机视觉,天津大学模式识别与智能系统
  4. VS2017断点调试UNITY2018.3 经常卡住的问题
  5. UML模型中的图-用例图
  6. leetcode5. 最长回文子串(动态规划)
  7. 工作180:前端是业务需求理解
  8. java 从excel中读取数据_java如何从excel中读出数据
  9. 使用PyPDF2库对pdf文件进行指定页面删除操作
  10. mysql 优化器_mysql之优化器、执行计划、简单优化
  11. 如何用C#对Gridview的项目进行汇总统计?
  12. Atitit 提升开发效率 设计简化 目录 1. 防止过度设计 1 2. 优先使用db和os的自带功能,防止垃圾代码膨胀 2 2.1. 定时调度,优先使用db定时和os的cron定时 2 2.2
  13. 谷歌推出人肉搜索引擎
  14. vue项目导入excel数据
  15. 2020年《时间的朋友》跨年演讲金句集锦
  16. Passper for PDF v3.6.1.1
  17. makefile和make
  18. 【MATLAB】求反函数
  19. Java获取本机的ip地址和Mac地址
  20. 杂谈:使用SteamCMD搭建七日杀(7 days to die, 7DTD)Linux版本专用服务器

热门文章

  1. 快速创建springBoot
  2. MATLAB在数学建模中的应用(三)
  3. BZOJ 2716: [Violet 3]天使玩偶
  4. The difference between sleep(), wait(), and yield() in human terms.
  5. 提高SQL语句的性能
  6. update-alternatives使用方法
  7. 新手第四课-PaddlePaddle快速入门
  8. 高斯过程回归(GPR)—— 数学推导
  9. 共识协议(8)NPOS提名权益证明
  10. C++ Primer 5th笔记(chap 16 模板和泛型编程)转发