python中os和sys模块的使用

本文介绍了在Python中os和sys模块的基本使用,包括os模块的listdir()、split()、rename()等文件操作,以及sys模块的path、getfilesystemencoding()等系统信息获取方法,提供了一系列实例来帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

os模块

以下操作都在ipython中实现:
import os #首先调用os模块
os. #按下tab键可以看到os模块的用法列表
1) os.listdir() #查看指定目录下所有目录或文件名:

In [100]: os.listdir("/root/PycharmProjects/")
Out[100]: ['pycharm07']

2) os.path.split() #将目录与文件名分开显示:

In [95]: os.path.split("/home/kiosk/westos.txt")
Out[95]: ('/home/kiosk', 'westos.txt')

3) os.path.basename() #查看文件名:

In [94]: os.path.basename("/home/kiosk/westos.txt")
Out[94]: 'westos.txt'

4) os.path.abspath() #在当前路径下查看文件路径,如果文件存在返回文件路径,如果文件不存在,返回当前路径与文件名,不会报错:

In [3]: ls      #在当前路径下只存在test.txt一个文件
test.txt

In [4]: pwd     #查看当前路径
Out[4]: u'/root/PycharmProjects/pycharm07'   

In [5]: os.path.abspath("test.txt")    #可返回文件正确路径
Out[5]: '/root/PycharmProjects/pycharm07/test.txt'

In [6]: os.path.abspath("westos.txt")  #输入一个当前路径下没有的文件名,也会返回文件路径,并且不会报错,在使用此命令的时候切记注意当前你所在的路径: 
Out[6]: '/root/PycharmProjects/pycharm07/westos.txt'

5) os.system(“df -h”) #查看挂载信息

In [7]: os.system("df -h")
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3       115G   56G   60G  48% /
devtmpfs        1.8G     0  1.8G   0% /dev
tmpfs           1.8G  208K  1.8G   1% /dev/shm
tmpfs           1.8G  8.8M  1.8G   1% /run
tmpfs           1.8G     0  1.8G   0% /sys/fs/cgroup
/dev/loop0      3.6G  3.6G     0 100% /var/www/html/rhel6.5
/dev/loop2      3.5G  3.5G     0 100% /var/www/html/rhel7.0
/dev/loop1      3.8G  3.8G     0 100% /var/www/html/rhel7.2
/dev/sda1       497M  146M  351M  30% /boot
tmpfs           368M   32K  368M   1% /run/user/1000
tmpfs           368M     0  368M   0% /run/user/0

6) os.sep #文件分隔符,返回“/”

In [8]: os.sep
Out[8]: '/'

7) os.linesep #换行符,返回“\n”

In [25]: os.linesep
Out[25]: '\n'

8) os.rename() #指定文件重命名

In [28]: ls
test.txt

In [29]: os.rename("test.txt","test")

In [30]: ls
test

9) os.remove() #删除指定文件

In [31]: ls
test  westos.txt

In [32]: os.remove("westos.txt")

In [33]: ls
test

10) os.mkdir() #创建目录

In [33]: ls
test

In [34]: os.mkdir("hk")

In [35]: ls
hk/  test

sys模块

import sys #调用sys模块
1) sys.path # 获取指定模块搜索路径的字符串集合(可将写好的模块路径添加其中,就可以在程序中import调用时,正确找到)

In [37]: sys.path
Out[37]: 
['',
 '/usr/bin',
 '/usr/lib64/python27.zip',
 '/usr/lib64/python2.7',
 '/usr/lib64/python2.7/plat-linux2',
 '/usr/lib64/python2.7/lib-tk',
 '/usr/lib64/python2.7/lib-old',
 '/usr/lib64/python2.7/lib-dynload',
 '/usr/lib64/python2.7/site-packages',
 '/usr/lib64/python2.7/site-packages/gtk-2.0',
 '/usr/lib/python2.7/site-packages',
 '/usr/lib/python2.7/site-packages/IPython/extensions',
 '/root/.ipython']

2) sys.path.append() #将自定义模块的路径添加到模块搜索路径的集合中,在程序中import调用此路径下的模块时,可准确找到
下面为在/hoem/kiosk/路径下自定义的模块hello.py内容:

def fun():
        print "welcome !"

添加:

In [45]: sys.path.append("/home/kiosk")  #将自定义模块的路径添加进去

In [46]: sys.path   #查看是否添加成功
Out[46]: 
['',
 '/usr/bin',
 '/usr/lib64/python27.zip',
 '/usr/lib64/python2.7',
 '/usr/lib64/python2.7/plat-linux2',
 '/usr/lib64/python2.7/lib-tk',
 '/usr/lib64/python2.7/lib-old',
 '/usr/lib64/python2.7/lib-dynload',
 '/usr/lib64/python2.7/site-packages',
 '/usr/lib64/python2.7/site-packages/gtk-2.0',
 '/usr/lib/python2.7/site-packages',
 '/usr/lib/python2.7/site-packages/IPython/extensions',
 '/root/.ipython',
 '/home/kiosk']     #添加成功

In [51]: import hello  # 调用自定义模块

In [52]: hello.fun()   #执行成功
welcome !

3) sys.path.pop() #删除sys.path中指定模块路径,默认删除最后一个,并返回被删除的路径信息

In [55]: sys.path
Out[55]: 
['',
 '/usr/bin',
 '/usr/lib64/python27.zip',
 '/usr/lib64/python2.7',
 '/usr/lib64/python2.7/plat-linux2',
 '/usr/lib64/python2.7/lib-tk',
 '/usr/lib64/python2.7/lib-old',
 '/usr/lib64/python2.7/lib-dynload',
 '/usr/lib64/python2.7/site-packages',
 '/usr/lib64/python2.7/site-packages/gtk-2.0',
 '/usr/lib/python2.7/site-packages',
 '/usr/lib/python2.7/site-packages/IPython/extensions',
 '/root/.ipython',
 '/home/kiosk']

In [56]: sys.path.pop()
Out[56]: '/home/kiosk'

4) sys.getfilesystemencoding() #获取文件系统使用编码方式

In [58]: sys.getfilesystemencoding()
Out[58]: 'UTF-8'

5) sys.getdefaultencoding() #获取系统当前编码,一般默认为ascii

In [59]: sys.getdefaultencoding()
Out[59]: 'ascii'

6) sys.platform #获取当前系统平台

In [61]: sys.platform
Out[61]: 'linux2'

7) sys.exec_prefix #返回平台独立的python文件安装的位置

In [2]: sys.exec_prefix
Out[2]: '/usr'

8) sys.executtable #返回Python解释程序路径

In [3]: sys.executable
Out[3]: '/usr/bin/python2'

9) sys.modules.keys() #返回所有已经导入的模块列表

10) sys.builtin_module_names #返回python解释器导入的模块列表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值