对 python 中 os 模块的学习

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

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

    536 引用 • 672 回帖

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    123 引用 • 168 回帖
  • 强迫症

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

    15 引用 • 161 回帖
  • Ruby

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

    7 引用 • 31 回帖 • 180 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    165 引用 • 407 回帖 • 526 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    164 引用 • 594 回帖
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖 • 3 关注
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 635 关注
  • Love2D

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

    14 引用 • 53 回帖 • 513 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    261 引用 • 662 回帖 • 1 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    16 引用 • 53 回帖 • 123 关注
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 432 关注
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖 • 5 关注
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用
  • 分享

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

    243 引用 • 1746 回帖
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 230 关注
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    320 引用 • 1679 回帖
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    73 引用 • 157 回帖
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    90 引用 • 383 回帖
  • 笔记

    好记性不如烂笔头。

    306 引用 • 780 回帖
  • JetBrains

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

    18 引用 • 54 回帖 • 2 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖 • 3 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 51 关注
  • 自由行
    4 关注
  • 生活

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

    228 引用 • 1450 回帖 • 1 关注
  • 职场

    找到自己的位置,萌新烦恼少。

    126 引用 • 1699 回帖
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    85 引用 • 895 回帖
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3169 引用 • 8207 回帖