对 python 中 os 模块的学习

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

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

    543 引用 • 672 回帖

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • 又拍云

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

    21 引用 • 37 回帖 • 545 关注
  • Pipe

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

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

    132 引用 • 1114 回帖 • 124 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    66 引用 • 114 回帖 • 228 关注
  • Node.js

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

    139 引用 • 269 回帖 • 43 关注
  • Bootstrap

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

    18 引用 • 33 回帖 • 660 关注
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    4 引用 • 16 回帖 • 6 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 733 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 155 关注
  • 安全

    安全永远都不是一个小问题。

    199 引用 • 816 回帖 • 2 关注
  • 机器学习

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

    83 引用 • 37 回帖
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    36 引用 • 35 回帖
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    77 引用 • 430 回帖
  • 生活

    生活是指人类生存过程中的各项活动的总和,范畴较广,一般指为幸福的意义而存在。生活实际上是对人生的一种诠释。生活包括人类在社会中与自己息息相关的日常活动和心理影射。

    230 引用 • 1454 回帖
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 614 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 63 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 374 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 911 回帖 • 245 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 710 关注
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    22352 引用 • 89437 回帖
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 212 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 30 关注
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖 • 4 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    153 引用 • 3783 回帖 • 1 关注