20180209-os模块
下面将学习关于os模块的相关操作
项目练习的目录结构如下:所有的操作都是基于os_exercise.py模块

1.获取当前的Python脚本的工作目录路径 os.getcwd()
# 1.获取当前目录
dir = os.getcwd()
print('获取当前python脚本工作目录:',dir)
# 输出
# 获取当前python脚本工作目录: /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os
2.获取指定目录下的所有文件和目录,os.listdir(dirname) 如果不传dirname,则返回当前python脚本的工作目录下的文件和目录名
# 2.返回执行目录下所有的文件和目录
li = os.listdir()
print('获取当前python工作目录下的文件名名和目录名,',li)
# 输出
# 获取当前python工作目录下的文件名名和目录名, ['os_exercise.py'] li = os.listdir('../packages')
print('获取packages目录下所有的文件名和目录名:',li)
# 输出
# 获取packages目录下所有的文件名和目录名: ['.DS_Store', 'my_proj']
3.删除文件,os.remove(filename)
# 3.删除一个文件 注意:这里只能删除文件,不能删除目录
os.remove('os_exercise02.py')
#如果文件不存在则报错
os.remove('os_exercise02.py') Traceback (most recent call last):=
File "/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py", line 25, in <module>
os.remove('os_exercise02.py')
FileNotFoundError: [Errno 2] No such file or directory: 'os_exercise02.py'
4.检测filename是否是个文件,os.path.isfile(filename)
# 4.检测filename是否是一个文件 os.path.isfile(filename)
ret = os.path.isfile('os_exercise.py')
print('检测filename是否是一个文件:',ret)
# 输出
# 检测filename是否是一个文件: True
5.检测dirname是否是一个目录,os.path.isdir(dirname)
# 5.检测dirname是否是一个目录 os.path.isdir(dirname)
ret = os.path.isdir('../os')
print('检测dirname是否是一个目录:',ret)
# 输出
# 检测dirname是否是一个目录: True
6.判断filepath是否是一个绝对路径,os.path,isabs(filepath)
# 6.判断filepath是否是绝对路径,os.path.isabs(path)
ret = os.path.isabs('os_exercise.py')
print('判断os_exercise.py是否是绝对路径:',ret)
# 输出
# 判断os_exercise.py是否是绝对路径: False ret = os.path.isabs('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py')
print('判断filepath是否是绝对路径:',ret)
# 输出
# 判断path是否是绝对路径: True
7.判断filepath是否真实存在,os.path.exists(filepath)
# 7.判断filepath是否真实存在 os.path.exists(filepath)
ret = os.path.exists('os_exercise.py')
print('判断os_exercise.py是否真实存在:',ret)
# 输出
# 判断os_exercise.py是否真实存在: True ret = os.path.exists('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os')
print('判断os目录是否真实存在:',ret)
# 输出
# 判断os目录是否真实存在: True ret = os.path.exists('../os')
print('判断os目录是否真实存在:',ret)
# 输出
# 判断os目录是否真实存在: True
8.获取filepath的目录名和文件名,os.path.split(filepath)
# 8.获取filepath的目录名和文件名 os.path.split(filepath)
ret = os.path.split('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py')
print('获取filepath的目录名和文件名:',ret)
# 输出
# 取filepath的目录名和文件名: ('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os', 'os_exercise.py')
9.分离filepath的扩展名,os.path.splitext(filepath)
# 9.分离filepath的扩展名 os.path.splitext(filepath)
ret = os.path.splitext('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py')
print('分离filepath的扩展名:',ret)
# 输出
# 分离filepath的扩展名: ('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise', '.py')
10.获取filepath的路径名 os.path.dirname(filepath)
# 10.获取filepath的路径名 os.path.dirname(filepath)
ret = os.path.dirname('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py')
print('获取filepath的路径名:',ret)
# 输出
# 获取filepath的路径名: /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os
11.获取fielname的绝对路径 os.path.abspath(filename)
# 11.获取filename的绝对路径 os.path.abspath(filename)
ret = os.path.abspath('os_exercise.py')
print('获取os_exercise.py的绝对路径',ret)
# 输出
# 获取os_exercise.py的绝对路径 /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py
12.获取filepath的文件名 os.path.basename(filepath)
# 12.获取filepath的文件名 os.path.basename(filepath)
ret = os.path.basename('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py')
print('获取filepath的文件名:',ret)
# 输出
# 获取filepath的文件名: os_exercise.py
13.运行shell命令 os.system(shell),由于终端每执行shell命令都会有一个状态
# 13.执行shell脚本 os.system(shell)
ret = os.system('ls')
print('执行shell脚本 ls命令:',ret)
# 输出
# os_exercise.py
# 执行shell脚本 ls命令: 0
14.获取当前平台使用的行终止符 os.linesep windows使用'\r\n',linux and Mac 使用'\n'

15.获取你当前正在使用的平台名称 os.name 对于windows则是'nt',而对于linux/Mac则是'posix'
# 15.获取你正在使用的平台名称 对于windows则是'nt',而对于linux/Mac则是'posix'
ret = os.name
print('获取你正在使用的平台名称:',ret)
# 输出
# 获取你正在使用的平台名称: posix
16.文件/目录重命名 os.rename(old,new) 注意:如果旧文件/目录不存在,则报错
#16.重命名文件/目录 如果旧文件/目录不存在,则报错
ret = os.rename('os_exercise01.py','os_exercise02.py')
ret = os.rename('os_exercise','os_exercise02')
17.创建多级目录 os.makedirs(dirname) 注意:如果目录已存在则会报错,并且这里只能创建目录
#17.创建多级目录 os.makedirs(dirname) 注意:这里只是创建目录,不会创建文件,如果目录已存在,则会报错
ret = os.makedirs(r'dir/makedir/simple')
ret = os.makedirs(r'dir/makedir/simple')
Traceback (most recent call last):
File "/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise.py", line 128, in <module>
ret = os.makedirs(r'dir/makedir/simple')
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/os.py", line 241, in makedirs
mkdir(name, mode)
FileExistsError: [Errno 17] File exists: 'dir/makedir/simple
18.创建单个目录dirname os.mkdir(dirname) 用法同上,这里不在赘述
19.获取文件属性 os.stat(filepath),常用就是获取文件大小
# 19.获取文件属性 os.stat(filepath)
ret = os.stat('os_exercise.py')
print('获取文件属性 ret = ',ret)
# 输出
# 获取文件属性 ret = os.stat_result(st_mode=33188, st_ino=8602852833, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=6434, st_atime=1518146428, st_mtime=1518146428, st_ctime=1518146428)
20.获取文件大小 os.path.getsize(filename)
# 20.获取文件大小 os.path.getsize(filename)
ret = os.path.getsize('os_exercise.py')
print('获取文件大小: ',ret)
# 输出
# 获取文件大小: 6675
21.结合目录和文件名 os.path.join(dirname,filename)
# 21.结合目录名和文件名 os.path.join(dirname,filename)
ret = os.path.join('/Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/','os_exercise01.py')
print('结合文件名和目录名: ret = ',ret)
# 输出
# 结合文件名和目录名: ret = /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os/os_exercise01.py
22.改变工作目录到dirname os.chdir(dirname)
# 获取当前的工作目录
ret = os.getcwd()
print('获取当前的工作目录:',ret)
# 输出
# 获取当前的工作目录: /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/os ret = os.chdir('../module')
print('改变工作目录到dirname:',ret) # 获取当前的工作目录
ret = os.getcwd()
print('获取当前的工作目录:',ret)
# 输出
# 获取当前的工作目录: /Users/qianhaichao/Desktop/Python练习/练习项目/LF-Project/Python练习/20180105-Python函数编程/chapter04-常用模块/module
20180209-os模块的更多相关文章
- Node.js:OS模块
os模块,可以用来获取操作系统相关的信息和机器物理信息,例如操作系统平台,内核,cpu架构,内存,cpu,网卡等信息. 使用如下所示: const os = require('os'); var de ...
- Python OS模块常用函数说明
Python的标准库中的os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Wi ...
- Python 模块学习:os模块
一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.(一语中的) 二.常用方法 1.os.name 输出字符串指示正在使用的平台 ...
- os 模块
__file__获取当前模块所在路径 一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的. 二.常用方法 1.os.name 输 ...
- python之OS模块详解
python之OS模块详解 ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows ...
- sys,os,模块-正则表达式
# *__conding:utf-8__* """"我是注释""" sys,os模块 import sysimport os pr ...
- python os模块(2)
os模块主要用于:目录.文件(删除.判断.分割文件名和后缀) 目录 (1)获取当前目录(2)修改目录(3)生成目录(4)删除目录(5)查看目录下的内容(6)重命名目录(7)修改时间属性(8)链接目录( ...
- 初学Python之os模块
OS模块是一个系统操作模块,是对本机的一些操作 os.name 显示操作系统,window:nt ,Linux/Unix:posix. os.getcwd() 显示运行的工作路径 os.list ...
- sys模块和os模块,利用sys模块生成进度条
sys模块import sysprint(sys.argv)#sys.exit(0) #退出程序,正常退出exit(0)print(sys.version) #获取 ...
- python os模块(1)
os模块主要处理文件和目录(文件夹)的创建.删除.检查判定.属性值修改.路径修改. (1)获取当前目录的两种方法 1 os.getcwd() os.path.abspath('.') (2)创建文件夹 ...
随机推荐
- Flutter-SearchDelegate搜索框
搜索欄 import 'package:flutter/material.dart'; typedef SearchItemCall = void Function(String item); cla ...
- spring boot 集成 websocket 实现消息主动推送
spring boot 集成 websocket 实现消息主动 前言 http协议是无状态协议,每次请求都不知道前面发生了什么,而且只可以由浏览器端请求服务器端,而不能由服务器去主动通知浏览器端,是单 ...
- Django中如何将javascript中的变量传给位于javascript内的{% url %}中的参数?
这个问题困扰了我一天,不知道困扰了你多久,希望能帮助你 django 中的url模版使用起来可以说是非常方便的,但是怎么在url模版中传入参数的 {% url "url.index" ...
- hdu 2815 : Mod Tree 【扩展BSGS】
题目链接 直接用模板好了.实在不行,反正有队友啊~~~~ #include<bits/stdc++.h> using namespace std; typedef long long LL ...
- hdu 6044 : Limited Permutation (2017 多校第一场 1012) 【输入挂 组合数学】
题目链接 参考博客: http://blog.csdn.net/jinglinxiao/article/details/76165353 http://blog.csdn.net/qq_3175920 ...
- php strrchr()函数 语法
php strrchr()函数 语法 作用:返回一个字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符.大理石平台哪家好 语法:strrchr(string,char) 参 ...
- C#使用phantomjs 进行网页整页截屏
C#使用phantomjs 进行网页整页截屏 hantomjs 是一个基于js的webkit内核无头浏览器 也就是没有显示界面的浏览器,这样访问网页就省去了浏览器的界面绘制所消耗的系统资源,比较适合用 ...
- 解决Windows2003 Server终端服务120天限制
用过windows server 2003做服务器的人都知道,windows2003的性能安全性比以前的windows版本高出很多,但是也带来很多麻烦.其中服务器最重要的远程管理“终端服务”居然要求授 ...
- 20180715-Java StringBuffer和StringBuilder类
public class Test{ public static void main(String args[]){ StringBuffer sBuffer = new StringBuffer(& ...
- python发送消息到ipmsg
from socket import * #利用socket模块生成套接字s = socket(AF_INET,SOCK_DGRAM) #定义一个元组,包含ip地址,和端口号,ip地址必须为字符串,端 ...