对 python 中 os 模块的学习

本贴最后更新于 2139 天前,其中的信息可能已经斗转星移

OS:opreate system 用于访问操作系统功能的模块
使用 os 模块中提供的接口,可以实现跨平台访问
通用操作:
1.获取平台信息
2.对目录的操作
3.判断操作
https://blog.csdn.net/xxlovesht/article/details/80913193

# 一.操作系统
import os
print(os.sep) # 获得系统分隔符  \
print(os.name) # 获得正在使用的平台 windows-nt,linux-posix    nt
print(os.getenv('path')) # os.getenv(环境变量名称):读取环境变量
print(os.putenv) # 分别用来读取和设置环境变量   <built-in function putenv>
print(os.getcwd()) # 获取当前的路径   J:\pythonRun\面试

# 二.目录操作-增删改查
dirs="J:\pythonRun"
print(os.listdir(dirs)) # 返回指定目录下的所有文件名和目录名
# os.mkdir(dirs) #创建目录
'''
先获取当前路径信息,然后进行添加新的目录
'''

my_dir=os.getcwd()
print(os.getcwd())
my_dis=my_dir+"\模块"    # 注意这里要加 \
# print(os.mkdir(my_dis))

# s.rmdir(my_dis) # 删除一个空目录
my_die = my_dis+"\\bin"
# os.makedirs(my_die) #可以生成多层递归的空目录。如果目录全部存在,则创建目录失败
# os.removedirs(dirname) # 可以删除多层递归的空目录,若目录中有文件则无法删除
# os.removedirs(my_die)
# os.chdir()  #改变当前目录到指定目录中。
# os.rename() #重命名目录或者文件名。重命名后的文件已存在,则重命名失败
bis = my_dir+"\\bin"  # b开头,小心格式化,用\\
# os.rename(my_dis,bis)

# 三.判断
# os.path.exists(path) #文件或目录是否存在。存在则返回True,否则返回False。
print(os.path.exists("J:\\pythonRun\\面试\\bin"))  # True
# os.path.isfile(path) #判断是否为文件。是文件则返回True,否则返回False
print(os.path.isfile("J:\\pythonRun\\面试\\bin"))  # False
# os.path.isdir(path) #判断是否为目录。是目录则返回True,否则返回False
print(os.path.isdir("J:\\pythonRun\\面试\\bin"))  # True

'''
path模块
'''
print(os.path.basename("J:\\pythonRun\\面试")) # 返回文件名  # 面试
print(os.path.dirname("J:\\pythonRun\\面试")) # 返回文件路径  # J:\pythonRun
print(os.path.getsize("J:\\pythonRun\\面试\\bin")) # 返回文件大小,如果name是目录,返回0;
print(os.path.abspath("J:\\pythonRun\\面试\\bin")) # 获取绝对路径 # J:\pythonRun\面试\bin
#print(os.path.join(path,name)) # 连接目录与文件名或目录
print(os.path.join("J:\\pythonRun\\面试\\bin","1.txt"))  # J:\pythonRun\面试\bin\1.txt
lde = "J:\pythonRun\面试\\bin\\1.txt"
# 经查勘,文件路径是有了,但在实际文件夹中并没有创建1.txt 文件,所以还要创建
os.makedirs(lde)

"""
import os
#coding:utf-8
#列出当前目录下的所有文件
dirs="D:\\Release\\bin"
if os.path.exists(dirs): # 判断是否存在
    files= os.listdir(dirs)
    print files
    #拼接了路径
    fullpath=os.path.join(dirs,files[0])
    print fullpath
    #判断一个路径是否是一个文件,是否目录
    if os.path.isfile(fullpath):
        print '我是一个文件'
    elif os.path.isdir(fullpath):
        print '我是一个目录'
"""

"""
例子:打印当前目录中包含homeword的文件,已经打印出绝对路径
思路:
第一步:获取当前路径路径,获取当前路径下的文件或者文件夹
第二步:循环文件,判断是否问文件,如果是文件,就判断是否包含 字符串,然后打印

'''
import os
#coding=utf-8
'''编写程序:
1:能在当前目录下查找文件名包含指定字符串的文件
2:并打印出绝对路径
   
"""
sub_str="homework"
cur_dir=os.getcwd()
files=os.listdir(cur_dir)
for item in files:
    print item
    if os.path.isfile(os.path.join(cur_dir,item)):
        if item.find(sub_str) != -1:  #如果存在,就打印完整路径
            print (os.path.join(cur_dir,item))

  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    561 引用 • 677 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • Excel
    32 引用 • 29 回帖 • 1 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    51 引用 • 200 回帖 • 1 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    110 引用 • 153 回帖 • 1 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 50 关注
  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 91 关注
  • 音乐

    你听到信仰的声音了么?

    63 引用 • 513 回帖
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    78 引用 • 37 回帖
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 9 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    173 引用 • 1559 回帖
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    119 引用 • 54 回帖
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    8 引用 • 26 回帖 • 3 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 646 关注
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1449 引用 • 10092 回帖 • 488 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖
  • 导航

    各种网址链接、内容导航。

    45 引用 • 177 回帖
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 636 关注
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    39 引用 • 170 回帖
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 121 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    20 引用 • 37 回帖 • 577 关注
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    139 引用 • 269 回帖
  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    6 引用 • 144 回帖 • 3 关注
  • 代码片段

    代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。

    用户在该标签下分享代码片段时需在帖子标题前添加 [css] [js] 用于区分代码片段类型。

    286 引用 • 1988 回帖
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    27 引用 • 7 回帖 • 93 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 443 关注
  • 分享

    有什么新发现就分享给大家吧!

    251 引用 • 1801 回帖 • 2 关注
  • Thymeleaf

    Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 Velocity、 FreeMarker 等,它也可以轻易的与 Spring 等 Web 框架进行集成作为 Web 应用的模板引擎。与其它模板引擎相比,Thymeleaf 最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个 Web 应用。

    11 引用 • 19 回帖 • 413 关注