• Python学习札记(四十三) IO 3


    参考:操作文件和目录

    NOTE:

    1.Python内置的os模块可以直接调用操作系统提供的接口函数:

    2.os.name 打印操作系统的名称:如果是posix,说明系统是Linux、Unix或Mac OS X,如果是nt,就是Windows系统。

    3.要获取详细的系统信息,可以调用uname()函数。

    4.在操作系统中定义的环境变量,全部保存在os.environ变量中。

    5.要获取某个环境变量的值,可以调用os.environ.get('key'),从而获取名为'key'的环境变量的值。

    #!/usr/bin/env python3
    
    import os
    
    def main():
    	print(os.name) # print the name of OS
    	print(os.uname) # print the details
    
    	print(os.environ) # print the environment variables of OS
    	print(os.environ.get('PATH')) # get the PATH env variable 
    
    if __name__ == '__main__':
    	main()
    
    sh-3.2# ./osops1.py 
    posix
    <built-in function uname>
    environ({'TERM_PROGRAM_VERSION': '361.1', 'TERM_SESSION_ID': '42E41C0B-D800-486D-B449-C9A146E655C5', 'TERM_PROGRAM': 'Apple_Terminal', 'SHELL': '/bin/sh', 'XPC_FLAGS': '0x0', 'SHLVL': '2', '__CF_USER_TEXT_ENCODING': '0x0:25:52', 'XPC_SERVICE_NAME': '0', '__PYVENV_LAUNCHER__': '/Library/Frameworks/Python.framework/Versions/3.5/bin/python3', 'HOME': '/var/root', 'SSH_AUTH_SOCK': '/private/tmp/com.apple.launchd.vGQieaIu6n/Listeners', '_': './osops1.py', 'SECURITYSESSIONID': '186a7', 'PATH': '/Library/Frameworks/Python.framework/Versions/3.5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin', 'OLDPWD': '/Users/wasdns/Desktop/Python-Learning', 'Apple_PubSub_Socket_Render': '/private/tmp/com.apple.launchd.aeMG0w5FPh/Render', 'LOGNAME': 'wasdns', 'USER': 'wasdns', 'PWD': '/Users/wasdns/Desktop/Python-Learning/InOut', 'LANG': 'zh_CN.UTF-8', 'TERM': 'xterm-256color'})
    /Library/Frameworks/Python.framework/Versions/3.5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
    

    6.文件及目录操作:

    #!/usr/bin/env python3
    
    import os
    
    def main():
    	# 当前目录的绝对路径
    	print(os.path.abspath('.'))
    
    	path = os.path.abspath('.')
    
    	# 加入目录'Hi'
    	os.path.join(path, 'Hi')
    
    	# mkdir
    	os.mkdir(path+'/Hi')
    
    	# rm -rf
    	os.rmdir(path+'/Hi')
    
    if __name__ == '__main__':
    	main()
    

    先是查看mkdir的效果,注释掉rmdir语句:

    sh-3.2# ./osops2.py 
    /Users/wasdns/Desktop/Python-Learning/InOut
    sh-3.2# ls
    Hi		data.txt	easyio.py	osops2.py
    bytesio.py	data2.txt	osops1.py	stringio.py
    

    再取消注释:

    sh-3.2# ./osops2.py 
    /Users/wasdns/Desktop/Python-Learning/InOut
    sh-3.2# ls
    bytesio.py	data2.txt	osops1.py	stringio.py
    data.txt	easyio.py	osops2.py
    

    把两个路径合成一个时,可以通过os.path.join()函数。

    比如上面的语句:

    (path+'/Hi')
    

    可以替换为:

    os.path.join(path+'Hi')
    

    7.同样要拆分路径时,可以通过os.path.split()函数,把一个路径拆分为两部分,后一部分是最后级别的目录或文件名。

    os.path.split('[path]')
    

    8.os.path.splitext() => 得到文件扩展名.

    9.利用Python的特性来过滤文件:

    	l = [x for x in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[1]=='.py']
    	print(l)
    

    做一个生成器,遍历一遍该目录下的元素,如果是文件类型及是.py文件则加入这个list。

    2017.3.19

  • 相关阅读:
    470. 用 Rand7() 实现 Rand10() 采样
    165. 比较版本号 字符串
    Java 通过属性名称读取或者设置实体的属性值
    双非Java的学习之旅以及秋招路程
    【Unity3D】不可读Texture资源的获取
    java 8 Map 之merge用法
    Jmeter-计数器的应用
    Jmeter-集合点【同步定时器】应用
    2. Go并发编程--GMP调度
    Go序列化嵌套结构体
  • 原文地址:https://www.cnblogs.com/qq952693358/p/6582785.html
Copyright © 2020-2023  润新知