今天遇到的新单词: attrubute: n属性 cwd全称: Current Working Directory当前工作目录 argument: n参数 binary n二进制 paste v粘贴 destination n目标
计算机方面的学习可以到菜鸟教程RUNOOB网站查看资料
以后记得学习网络安全
要在stack overflow网站注册账号
1秒(s)=1000毫秒(ms),计算机系统的计时是从1970年1月1日的00:00:00开始的,单位 为ms
*********************************** python如果直接操作系统文件,需要用到一个模块:os(Operation System)模块,系统文件 又分为文本文件和二进制文件,能用记事本打开的是文本文件,用记事本打开乱码的是二进制文件
遍历一个盘里面的文件夹用的python命令是: import os
os.listdir("f:")
创建一个文件夹用的命令是: os.makedirs("f:/oswork") #或者不要斜杠也可以 文件夹里面再创建文件夹用的是makedirs(),也可以只创建一个文件夹 只创建一个文件夹用mkdir()
创建一个文件的命令是: 先切换到相应的盘符才能创建文件:os.chdir("f:") 然后再建立文件:open("f:/oswork/test.txt","x")?x的由来
重命名文件夹: os.rename("f:/oswork","shide")
删除文件夹: os.removedirs("f:/oswork") os.rmdir("f;/oswork")两个都可以
删除文件: os.remove("f:/oswork/test.txt")
os.getcwd() 获取当前路径,不要参数
os.chdir("d:") 切换盘符,括号中填写要切换的盘符
os.path.dirname("") 获取一个文件前面的路径,括号中要添件文件整个的路径 >>> os.path.dirname("f:/oswork") 'f:/'
pycharm中按着ctrl再点击方法名能查看它的使用方法
直接带盘符的是绝对路径c:
window中切换到指定的路径与字符的大小写无关,其他系统大小写必须要写对
EOF : end of file文件的结尾
dat文件在python中一般存储二进制数据,因为文本文件容易被修改,存储为二进制文件防止被篡改 dll文件: DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”, 是软件文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件, 它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我 们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件, 一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件。
文本文件是字符组成的,二进制文件是字节组成的
提示1:dir(os) # 系统操作模块 提示2:dir(os.path) # 系统文件路径操作模块 提示3:灵活使用help()
扩展:dir(sys) # 和解释器交互的模块
******************************** python操作操作系统中的文本文件: 文本文件的内容:文件内容 写入文件——写入指定内容 是否追加[不追加~每次写入数据时覆盖原有数据] 读取文件——读取文件中的内容 python提供了打开文件的函数:open()
>>>>> open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) 参数列表: file: 要操作的文件对象、或者文件名称[路径(相对路径|绝对路径)] mode: 操作方式 t: text,默认操作;文本文件 b: binary,操作二进制文件 a: append 追加操作文件 mode操作方式: w:write:向文件中写入内容 写的时候只写一个w或r就行,默认后边会加一个t->wt/rt r:read:从文件中读取内容 +:打开一个文件既可以写入数据也可以读取数据
>> f = open("随堂笔记.txt") f变量~文件对象 >>> dir(f) [ 'buffer缓存', 'close关闭', 'closed关了吗?', 'detach', 'encoding编码', 'errors错误', 'fileno', 'flush刷新', 'isatty', 'line_buffering', 'mode模式', 'name名称', 'newlines一行', 'read读取', 'readable可以读取吗?', 'readline读取一行', 'readlines全部读取每一行作为一个元素的列表', 'seek跳转指定位置|偏移', 'seekable可以偏移吗?', 'tell', 'truncate', 'writable可以写入吗?', 'write写数据', 'writelines'写一个列表进入]
案例开发:opend1.py:读取文本文件数据 opend2.py:向文本文件中写入数据 opend3.py:拷贝文件底层代码 系统中的文件:文本文件|二进制文件 拷贝二进制文件:可能出现问题导致文件损坏!
********************************* 操作系统中的二进制文件:
和文本文件的操作基本没有区别,唯一的区别就是将操作模式mode=r->mode=rb/wb
操作模式b->binary->二进制 open(file, mode='rb/wb') rb:二进制读取文件 wb:二进制写入文件
注意问题: 如果要操作二进制文件,read()方法使用要慎重 不要直接read()->会造成整个二进制文件会被一次加载到系统内存中 容易造成内存溢出 操作时《需要给read()函数添加一个每次读取数据的缓存每次读取一定的数据
扩展:文件操作:快捷处理方式:with语句,使用with语句不用再手写关闭,它运行完会自动关闭
********************************** 程序中的数据存储: 有独立的数据类型,不能直接按照二进制的方式进行操作 data_serializer/ds01.py TypeError 解决方案:有两种 1. 通过python提供的标准库,将程序中的数据转换成字符串~进行操作 2. 通过python提供的标准库,将程序中的数据转换成字节~进行操作
(5)操作程序中的字符串数据[特殊:JSON] json模块[python提供的标准库]
(6)操作程序中的对象数据[序列化:反序列化] pickle模块[python提供的标准库]
************************************ os模块和io模块的总结: 总结:文件IO操作
1. 文件操作 和操作系统交互,python标准库:os、os.path 提示:dir(os);结合help()完成对os模块中常见函数的熟悉 dir(os.path) 熟悉os.path模块下常见的函数
创建文件open、创建一级文件夹mkdir、创建多级文件夹makedirs 删除文件remove\rmdir\removedirs 重命名文件:rename 查看文件信息:getctime()/getatime()/getmtime()/getsize() create access modify 遍历文件:isfile()/isdir()/listdir()/scandir()
2. 文件内容操作 文本文件内容 f = open(filename, mode="rt/wt") f.write(str)/writelines(list) f.read()/readline()/readlines()
二进制文件内容 f = open(filename, mode="rb/wb") f.write(bytes/bytearray) f.read()
快捷操作:with语句:自动打开和关闭文件 with open(file, mode="..") as f: f.write()/read()
程序数据内容 文本文件操作:json:数据类型的转换 将一个程序中的数据,写入到文本文件中 json.dump(dict, open(file, mode="r")) 从文本文件中读取数据到程序中~直接转换成对应的类型 data = json.load(open(file, mode="w"))
二进制文件操作:pickle:数据的文件操作 将程序中的数据,写入到二进制文件中 pickle.dump(dict, open(file, mode="wb")) 从二进制文件中读取数据到程序中 data = pickle.load(open(file, mode="rb")) ***************************************
对比java:jvm虚拟机->jvm屏蔽了系统安全操作,用java并不能直接对系统文件进行操作 但是python是运维出身,Python的解释器->允许Python对系统文件执行危险操作! 所以python对于系统文件的操作权限远远大于java