Python IO编程——操作文件和目录

1.1   操作文件和目录

>>> import os

>>> os.name     #操作系统类型

‘posix‘

>>> os.uname()     #详细的系统信息

posix.uname_result(sysname=‘Linux‘,nodename=‘daidai.com‘, release=‘2.6.18-194.el5‘, version=‘#1 SMP Tue Mar 1621:52:39 EDT 2010‘, machine=‘x86_64‘)

>>> os.environ      #当前环境变量

environ({‘OLDPWD‘: ‘/root‘, ‘PATH‘:‘/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin‘,‘LESSOPEN‘: ‘|/usr/bin/lesspipe.sh %s‘, ‘SSH_ASKPASS‘:‘/usr/libexec/openssh/gnome-ssh-askpass‘, ‘KDE_IS_PRELINKED‘: ‘1‘, ‘SSH_TTY‘:‘/dev/pts/1‘, ‘LS_COLORS‘:‘no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*NaNd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:‘,‘SHLVL‘: ‘1‘, ‘HOSTNAME‘: ‘daidai.com‘, ‘QTDIR‘: ‘/usr/lib64/qt-3.3‘, ‘TERM‘:‘vt100‘, ‘HOME‘: ‘/root‘, ‘KDEDIR‘: ‘/usr‘, ‘LOGNAME‘: ‘root‘, ‘_‘:‘/usr/bin/python‘, ‘SSH_CLIENT‘: ‘192.168.20.1 10042 22‘, ‘SHELL‘: ‘/bin/bash‘,‘HISTSIZE‘: ‘1000‘, ‘PWD‘: ‘/root/python‘, ‘KDE_NO_IPV6‘: ‘1‘, ‘CVS_RSH‘:‘ssh‘, ‘QTINC‘: ‘/usr/lib64/qt-3.3/include‘, ‘QTLIB‘: ‘/usr/lib64/qt-3.3/lib‘,‘INPUTRC‘: ‘/etc/inputrc‘, ‘LANG‘: ‘en_US.UTF-8‘, ‘SSH_CONNECTION‘:‘192.168.20.1 10042 192.168.20.101 22‘, ‘MAIL‘: ‘/var/spool/mail/root‘,‘G_BROKEN_FILENAMES‘: ‘1‘, ‘USER‘: ‘root‘})

>>> os.environ.get(‘PATH‘)    #某个环境变量

‘/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin‘

1.1.1   目录操作

>>> import os

>>> os.path.abspath(‘.‘)   #显示当前目录绝对路径

‘/root/python‘

>>> os.path.join(os.path.abspath(‘.‘),‘testdir‘)    #连接两个目录,并不会生成该目录,除非定向输出文件

‘/root/python/testdir‘

>>> os.mkdir(os.path.join(os.path.abspath(‘.‘),‘testdir‘))   #创建目录

>>> os.rmdir(os.path.join(os.path.abspath(‘.‘),‘testdir‘))   #删除目录

>>> os.system(‘ls-l‘)     #执行操作系统命令

total 84

-rw-r--r-- 1 root root  174 Jul 3 20:12 age.py

-rw-r--r-- 1 root root  152 Jul 13 14:12 assert.py

-rw-r--r-- 1 root root  181 Jul 3 20:25 birth.py

-rw-r--r-- 1 root root   19 Jul 1 14:03 calc.py

-rw-r--r-- 1 root root  244 Jul 13 10:56 err_logging.py

-rw-r--r-- 1 root root  115 Jul 13 15:03 err_log_level.py

-rw-r--r-- 1 root root  205 Jul 13 20:33 err.py

-rw-r--r-- 1 root root  143 Jul 3 20:36 for.py

-rw-r--r-- 1 root root  333 Jul 8 21:20 hello_module.py

>>> os.path.split(os.path.join(os.path.abspath(‘.‘),‘age.py‘))

(‘/root/python‘, ‘age.py‘)

os.path.split()函数,把一个路径拆分为两部分,后一部分总是最后级别的目录或文件名

>>> os.path.splitext(os.path.join(os.path.abspath(‘.‘),‘age.py‘))

(‘/root/python/age‘, ‘.py‘)

os.path.splitext()可以直接让你得到文件扩展名

这些合并、拆分路径的函数并不要求目录和文件要真实存在,它们只对字符串进行操作。

1.1.2   文件操作

>>> import os

>>> os.rename(‘test.txt‘,‘test.py‘)    #重命名文件

>>> os.remove(‘test.py‘)       #删除文件

列出当前目录下所有目录

>>> [x forx in os.listdir(‘.‘) if os.path.isdir(x)]      #不含子目录

[‘Desktop‘, ‘.gconf‘, ‘.redhat‘,‘.gnome2_private‘, ‘Python-3.5.0b4‘, ‘redis‘, ‘python‘, ‘.chewing‘, ‘.Trash‘,‘.gnome‘, ‘.nautilus‘, ‘.kde‘, ‘.scim‘, ‘.gconfd‘, ‘.gnome2‘, ‘.metacity‘,‘.gstreamer-0.10‘, ‘.eggcups‘, ‘shell‘]

列出当前目录以.py结尾的文件

>>> [x forx in os.listdir(‘.‘) if os.path.isfile(x) and os.path.splitext(x)[1] == ‘.py‘]

[‘err_log_level.py‘, ‘my_abs.py‘, ‘age.py‘,‘中文测试.py‘, ‘birth.py‘, ‘mydict_test.py‘, ‘x.py‘, ‘mult_line.py‘,‘listpop.py‘, ‘calc.py‘, ‘hello.py‘, ‘assert.py‘, ‘for.py‘, ‘sum100.py‘,‘err_logging.py‘, ‘mydict.py‘, ‘err.py‘, ‘hello_module.py‘, ‘move.py‘]

时间: 2024-10-11 16:11:47

Python IO编程——操作文件和目录的相关文章

python学习笔记 操作文件和目录

如果我们要操作文件.目录,可以在命令行下面输入操作系统提供的各种命令来完成.比如dir.cp等命令. 如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数. 打开Python交互式命令行,我们来看看如何使用os模块的基本功能: >>> import os >>> os.name # 操作系统类型 'posix' 如果是posix,说明系统是L

Python之IO编程——文件读写、StringIO/BytesIO、操作文件和目录、序列化

IO编程 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口.从磁盘读取文件到内存,就只有Input操作,反过来,把数据写到磁盘文件里,就只是一个Output操作. 由于CPU和内存的速度远远高于外设的速度,所以,在IO编程中,就存在速度严重不匹配的问题.举个例子来说,比如要把100M的数据写入磁盘,CPU输出100M的数据只需要0.01秒,可是磁盘要接收这10

IO编程、操作文件或目录、序列化、JSON

IO中指Input/Output,即输入和输出:涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口 1.由于CPU和内存的速度远远高于外设的速度,所以,在IO编程中,存在速度严重不匹配问题.eg:把100M的数据写入磁盘,CPU输出100M的数据只需要0.01秒,可是磁盘接收100M数据可能需要10秒,怎么办呢,有两种办法: ①.CPU等着,也就是程序暂停执行后续代码,等100M数据在10s后写入磁盘,再接着往下执行,这种模式称为同步IO ②.CPU不等待,只是告诉磁盘,"慢慢写,不着急,

python操作文件和目录

python操作文件和目录 目录操作 # 查看当前目录 >>> os.path.abspath('.') '/Users/markzhang/Documents/python/security' # 查看当前目录 >>> os.getcwd() '/Users/markzhang/Documents/python/security' # 更改当前的工作目录 >>> os.chdir('/Users/markzhang/') >>> o

python, 操作文件和目录

操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数 基本功能 import os #操作系统类型 os.name #posix:Linux.Unix或Mac OS X,nt:Windows系统 #要获取详细的系统信息,Windows上不提供 os.uname() #环境变量查看 os.environ #要获取某个环境变量的值,可以调用os.environ.get('key') os.environ.get('PATH') os

Python学习笔记(二十五)操作文件和目录

摘抄:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431925324119bac1bc7979664b4fa9843c0e5fcdcf1e000 Python内置的os模块也可以直接调用操作系统提供的接口函数. >>> import os >>> os.name # 操作系统类型 'nt' 如果是posix,说明系统是Linux.Unix或M

Python IO编程——StringIO & BytesIO

1.1   StringIO & BytesIO 1.1.1   StringIO StringIO顾名思义就是在内存中读写str. 写StringIO >>> fromio import StringIO >>> f = StringIO() >>> f.write('hello') 5 >>> f.write(' ') 1 >>> f.write('world!') 6 >>> f.ge

操作文件和目录

1. 如果要操作文件.目录,可以在命令行下面输入操作系统提供的各种命令来完成:比如,dir.cp等命令 如果要在Python程序中执行这些目录和文件的操作怎么办??其实操作系统提供的命令只是简单地调用了操作系统提供的接口函数,Python内置的os模块也可以直接调用操作系统提供的接口函数 >>>import os >>>os.name >>>'posix' 如果是posix,说明系统是Linux.Unix或Mac OS X:如果是nt,就是Window

使用File类操作文件或目录的属性

在学I/O流之前,我先总结一下使用File类操作文件或目录的属性. package com.File; import java.io.File; import java.io.IOException; public class FileDemo { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated