www.cnblogs.com/ruiyqinrui

爱技术,爱开源,爱linux! 在技术成长道路上,能拉一把就拉一把,不藏着不掖着! 我由衷希望能和有理想敢吃苦的it人一起共同进步,共同成长! 虽然我现在没有大牛的能力,但是我有大牛的心态.

shell编程,C编程,嵌入式开发.hadoop大数据,桉树,onenebula云计算架构.linux运维及驱动开发.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

os.path.join 将多路径组合成目录

os.path.split完全分离给定的目录路径为目录

def split_fully(path):
    parent_path,name = os.path.split(path)
    if name == "":
        return (parrent_path,)
    else:
        return split_fully(parent_path) + (name,)

os.path.normpath('path')规范化 或是清理路径

a = open('a.txt','a')

os.path.isfile()

os.path.exists()

os.path.join()

os.path.split()

os.path.splitext()

os.path.normpath()

0s.path.abspath()

os.path.isfile()

os.path.isdir() == os.path.exists()

python只有一小部分核心特性 可以在各种模块中扩展
使用os的模块扩展python
使其能够利用操作系统的特性
具备网络特性 既能提供 低级的网络协议
自己使用和共享的简单模块
捆绑的模块
包中包含独立于全局作用域
recipe
python自动搜寻路径目录列表存储于sys模块的path变量
添加出现在sys.path之外的搜索目录
通过普通方法更改系统路径-用append方法增加一个 目录,要么用extend方法增加任意数量的目录
extend
append
输入一个名称
将弹出该模块作用域内所有名称列表
导入模块  输入名称 弹出该模块作用域内所有名称列表
代码编辑器的这种特性可以通过交互的方式提供帮助
代码编辑器允许从该名称提供的接口做出选择
有助于研究刚才创建的模块
包含模块或对象作用域名称
命令行参数在python程序中显示为sys模块中的一个特殊名称
sys模块特殊名称argv
argv

argument vector

命令行中运行带参数程序
argument 指命令行下函数的参数
argument flags
像列表那边访问命令行参数
为输出参数,只需要了从命令行  像使用其他列表那样使用sys.argv
sys.argv
other argv提供的命令行参数
sys.argv列表第一个元素永远都是程序名称

import 可以单独使用
创建新包kitchen
创建kitchen目录 并在其中创建__init__.py
这个名称必须与类中该方法的名称相同 __init__.py文件提示python这是个包目录
而不仅仅是包含python文件的普通目录 确定开发人员知道要维护目录和控制行为
__init__文件包含了控制包的用法代码
因为与模块不同
模块和类的使用者在程序中会自动使用  from import *
为了能够处理包
必须指定一个要导出的名称列表
__all__=['Fridge','Recipe','Omelet']
列表强迫你确定接口内容
from Kithen import * 名称将进入程序的全局作用域

__init__.py
from Fridge import Fridge
from Omelet import Omelet
__all__ = ['Omelet','Recipe','Fridge']

如果移除from Recipe import Recipe 那么调用from Kitchen import *
需要调用Recipe.Recipe()
重新导入模块和包
实验并改正错误的过程
重新导入模块和包
catalina.out
模块  数据类型

impchen
ort Ki


sys.modules 系统已经加载的模块
'Kitchen' in sys.modules
sys.modules['Kitchen']

本身 就是 字典     那么我们 用字典的键keys 来查看与该键相关联的values
sys.modules.pop('Kitchen'
)

测试模块和包的基础知识
测试模块和包的基础知识
为模块创建的作用域  程序中特殊名称__name__
告诉正在运行的作用域名称
如果在Foods模块中检查__name-__

检查inspection   inspection inspection
users and projects

pip install --upgrade <package-name>
pip uninstall <package-name>
if you need even newer versions of the clients
pip can install directly from the upstream git repository using the -e flag
you must specify a name for the python egg that is installed

mentioned above  mentioned above
-manange tools must be run from the cloud controller

maintenance
maintenance
maintenance
operations

don't leave a blank variable unset it if it was empty
if [ -z "$OS_REGION_NAME" ];then
    unset OS_REGION_NAME
you pass password
echo "Please enter your OpenStack Password:"
read -sr OS_PASSWORD_INPUT
export OS_PASSWORD=$OS_PASSWORD_INPUT
模块和包测试基础知识
为模块创建的作用域  程序特殊名称__name__
modules 模块创建的作用域 程序名称  告诉正在运行的作用域名称
__main__特殊保留字 顶层全局作用域名称
if __name__ == '__main__'
file directionary
文件目录
python用来读写文件以及访问目录内容的函数类型
读写文件访问目录
较大的程序都用文件来读取输入或存储输出
读取输入  存储输出;
丰富的输入输出
用于操作路径 获取文件信息 访问目录内容
开头的引号前放置r 原始 raw orginal
开头的引号前放置r 取消字符串中对反斜杠的特殊处理
同样的路径可以写作r"C:\Windows\Temp" == "C:\\Windows\\Temp"
使用字符串对象来存储创建和访问的示例文件的路径
file对象代表对一个文件的连接
创建简单文本文件
exactly恰当
create/read/write/append;

IndentationError indentation indentation Error
indentation
expected an indented block

indentationError unindent does not match any other indentation level

SyntaxError invalid syntax;
mode=''
name=''
创建一个文件前检查文件是否存在
w r a create

FileNotFoundError no such file or directory
a.read('Noargv  ventor no parameters')
a.write("have one argument")
a = open('fileName',"file open mode")
检查文件是否存在
TypeError object is not callable;

其他文件处理函数

NameError:name is not defined;
a.write()函数不会自动写换行符号 任何时候想向文件中增加换行符 必须使用转义序列\n 空格也一样  如果不自己添加空格\t \n下一次向文件中添加的文本会紧跟在已有文本之后
传递的字符串超过一行  有多行文本被添加到文件

a.read()
可以使用readline()方法从文件中读出一行文本
当在一个文件对象上第一次调用该方法 将返回该文件的第一行文本

readline返回的字符串末尾换行符 逐行读取文件内容  repeat readline
read方法一次性读取文件中剩余内容
方法返回文件中未读取的所有内容
未读取的所有内容    如果在以打开文件时就调用read 将该文件的完整内容作为一个长字符串返回
readline读取 文本的 一行 \n 换行 的 行段
若要逐行读取文件内容
read方法一次性地读取文件中剩余内容
方法返回文件中未读取的所有内容
完成文件操作     删除文件操作对象  并关闭文件
del complete accomplish  accomplish;
del a
a.close()
Python将一个文本文件分解为多行是很方便的
将文件的剩余内容作为一个字符串列表返回
希望打印文件中每一行长度
没一行作为字符串读入
异常字符串表示将描述遇到的问题
IOError
引起IOError
试图打开并读取一个不存在的文件
试图在一个不存在的目录创建文件
试图打开一个没有读权限的文件
试图在一个没有访问权限的目录下创建文件
计算机遇到磁盘错误 或者网络错误
如果希望在错误发生时程序能够优雅地做出反应
错误发生程序能够优雅做出反应  能够处理 在接收到一个异常时采取什么操作取决于程序的行为
不同是编写跨平台程序障碍
python将路径和目录操作的繁琐细节隐藏在os模块
os中的exception 程序出错行为友好 那么必须处理这个异常
异常的字符串 表示描述了遇到的问题
os.path提供操作路径函数 路径 字符串
  组合  分解 文件路径
os.path.join可将目录名称组合成路径
python使用适合操作系统分割符
目录名称组合成路径
目录组合成路径
import os.path
os.path.join("snakes","python")
将目录组合成路径
os.path.join使用相同的参数会得到如下不同结果
函数os.path.split 将路径的最后一个组件提取
该函数返回包含两个项的元组
函数返回包含两个项的元组
函数返回包含两个项的元组
函数返回包含两个项的元组
包含两个项的元组() [] {}
父目录的路径以及最后一个路径的组件
将路径的最后一个组件提取出来
该函数返回包含两个项的元组 函数返回包含两个项的元组
父目录的路径以及最后一个路径组件
路径分割为若干目录

希望将一个路径完全分解为若干目录名称
实现功能的得体方式使用递归函数 自己调用自己的函数
EOL end of line
while scanning string literal
literal
返回包含两项的元组
父目录路径和最后的分离的目录
if name == "": 最后分离的目录为空字符串;
else:
return split_fully(parent_path) + (name,) 把上一个分离后的父目录路径 作为 函数参数
文件名称
分解出它的扩展名称
os.path.splitext("image.jpg")
os.path.join()\
os.path.splitext("image.jpg")
os.path.split()
参数是目录路径
对splitext的调用返回一个包含两个元素的元组
返回一个包含两个元素的元组
os.path.normapath()  规范化 或清理路径
normpath
函数os.path.abspath
os.path.normpath
将相对路径 相对于当前目录路径  转变为一个绝对路径
从驱动器或者文件系统的根目录
os.path.normpath()
os.path.abspath()将一个相对路径(相当于当前目录的路径)转变为一个绝对路径
从驱动器或者文件系统的根目录
输出取决于调用abspath时的当前路径 os.path下面的所有路径操作函数都不检查正在操作的路径是否真正的存在
os.path.isfile()判断给定参数的文件是否存在
os.path.exists()判断给定的目录是否存在
函数返回值为True/False
os.path.exists("C:\\Windows")
目录内容
现在知道如何构造任意 路径 并将他们分开
如何才能找出硬盘上实际存在哪些内容
os.listdir模块返回给定目录下所有名称条目 包括文件和目录内容
返回的结果是目录条目的 名称
不是完整的路径
如果需要条目的完整路径  使用os.path.kjoin构造
其次 结果中既有文件名称也有目录名称
从os.listdir
注意  结果中不包含. ..当前目录和父目录  特殊目录名称
编写一个函数 列出某个目录中的内容  但是 需要打印出完整的路径  而不是 仅打印文件和子目录
条目列表以某种特定的方式
sorted 字符串列表排序
按字母表排序 并区分大小写
get file Info
c:\documents and settings\username\desktopp
获取文件信息
判断一个路径是指向一个文件还是指向一个目录
os.path.exists()
os.path.isfile()
isdir

其他类型的目录条目
其他类型的目录条目符号链接  套接字 设备
os模块为检查这些条目提供了支持
递归目录列表
递归目录列表
os.path.isdir()
os.path.exists()
os.listdir(di)
函数找到一个子目录 调用自身  列出该子目录的内容
keyboardinterrupt

os.listdir(dir_path) 查看指定目录下的所有内容
full_path = os.path.join(dir_path,name)  将指定目录下的目录和文件  与指定的列举父目录组合成全路径
if os.path.isdir(full_path):
os.path.isdir(full_path) print
以字节为单位返回该文件的大小
模块os.path中其他函数提供了关于文件的信息
列如os.path.getsize不打开和扫描文件的情况以字节为单位返回该文件的大小
以字节为单位bytes 文件大小
getmodifytime time.ctime convertTime转换时间格式
time  os.path.getsize
os.path.getmtime

time.ctime
os.path.getmtime()
import time
mod_time = os.path.getmtime(r"d:\python\python35")
print(time.ctime(mod_time))

posted on 2016-02-26 09:48  秦瑞It行程实录  阅读(197)  评论(0编辑  收藏
www.cnblogs.com/ruiyqinrui