python3文件操作相关模块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3文件操作相关模块相关的知识,希望对你有一定的参考价值。
os模块:
>> os.curdir
‘.‘>> os.pardir
‘..‘>> os.sep #路径分隔符,不同的操作系统看到的结果不一样
‘/‘>> os.linesep #换行符,不同的操作系统看到的也不一样,windox
‘ ‘>> os.getcwd() #获取当前路径
‘/root/桌面/111‘>> os.listdir() #获取当前目录的内容,相当于ls
>> os.listdir(‘/‘) #获取指定目录的内容
>> os.chdir(‘/tmp‘) #切换目录
>> os.mkdir(‘1221‘) #创建文件,以相对路径创建文件,创建在切换后的路径下。
>> os.mknod(‘test.txt‘) #创建文件
>> os.symlink(‘/etc/hosts‘, ‘zhuji‘) #创建软连接
os.chmod() #待研究,与python2的数字授权不同
os.path.<两次TAB键> #
>>> os.path.dirname(‘/home/abc/xyz‘) #切割,去除右边的名字
‘/home/abc‘
>>> os.path.split(‘/etc/rsync.conf‘) #返回全部名称段
(‘/etc‘, ‘rsync.conf‘)
>>> os.path.splitext(‘abc.txt‘) #切割扩展名
(‘abc‘, ‘.txt‘)
>>> os.path.join(‘/home/abc‘, ‘xyz‘) #拼接字段
‘/home/abc/xyz‘
>>> os.path.isfile(‘/etc/hosts‘) #是文件返回True
True
>>> os.path.isdir(‘/etc‘) #是目录返回Ture
True
>>> os.path.islink(‘/etc/grub.cfg‘) #判断是不是快捷方式,是返回Ture
False
>>> os.path.exists(‘/etc‘) #判断,存在及返回True
True
>>> os.path.basename(‘/home/abc/xyz‘) #保留最右边文件名
‘xyz‘
shutil模块:(大概是文件操作的模块)
删除、拷贝
shutil.rmtree(‘/opt/mypy‘) #删除有文件的目录
拷贝文件:
>>> shutil.copy2(‘/etc/passwd‘, ‘/opt/test‘) #保留权限拷贝,cp -r
‘/opt/test/passwd‘
>>> os.listdir(‘/opt/test‘)
[‘passwd‘]
shutil.copyfile(‘/etc/hosts‘, ‘/opt/1234.txt‘) #拷贝文件内容,有则覆盖,没有创建
shutil.copytree(‘/var‘, ‘/opt/1234‘) #拷贝目录,有则拷贝,有相同文件报错,带创建目录功能
移动:
>>> shutil.move(‘/opt/test/passwd‘, ‘/opt/123‘)
cPickle模块:
可以把任意对象存储在文件中。(字符串、列表、字典等)
使用pickle.dump将对象(dict)存储在文件中,
>>> import pickle
>>> dict = {‘name‘:‘azj‘, ‘age‘:26}
>>> f = open(‘/tmp/aa.txt‘, ‘wb‘)
>>> pickle.dump(dict,f)
>>> f.close()
将文件中的字典使用pickle.load读取出来。结构没有变化,可以使用key读取到value
>>> f = open(‘/tmp/aa.txt‘, ‘rb‘)
>>> data = pickle.load(f)
>>> f.close()
>>> data
{‘name‘: ‘azj‘, ‘age‘: 26}
>>> data[‘name‘]
‘azj‘
以上是关于python3文件操作相关模块的主要内容,如果未能解决你的问题,请参考以下文章