对 python 中 os 模块的学习

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

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

    535 引用 • 672 回帖

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    14 引用 • 7 回帖 • 1 关注
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 176 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    85 引用 • 1201 回帖 • 456 关注
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 513 关注
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 551 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    6507 引用 • 29244 回帖 • 246 关注
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    21 引用 • 140 回帖 • 25 关注
  • 生活

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

    228 引用 • 1450 回帖
  • 博客

    记录并分享人生的经历。

    270 引用 • 2386 回帖
  • 音乐

    你听到信仰的声音了么?

    59 引用 • 509 回帖
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 178 关注
  • 链滴

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

    记录生活,连接点滴

    131 引用 • 3639 回帖
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 17 关注
  • 域名

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

    43 引用 • 208 回帖
  • Gitea

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

    4 引用 • 16 回帖 • 3 关注
  • VirtualBox

    VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

    10 引用 • 2 回帖 • 5 关注
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 682 关注
  • Kotlin

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

    19 引用 • 33 回帖 • 24 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    531 引用 • 3528 回帖
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    89 引用 • 345 回帖 • 2 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 107 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    395 引用 • 3408 回帖
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 427 关注
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    10 引用 • 85 回帖
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    15 引用 • 7 回帖 • 7 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 439 关注