兴义市教育局,沈腾小品全集,我要久久发广告任务网
在编写python程序的时候,可能需要和操作系统进行交互,比如获取某个目录下的内容、更改运行目录、更改环境变量等操作。在python中有两个模块将这些问题完美解决,一起看看哇!
os模块提供一个和操作系统的接口,想要完全了解它,需要查看它的官方文档:
这里列出一些常用的方法:
in [3]: import os # 导入os模块 in [4]: os.sep # 该操作系统特定的路径分隔符 out[4]: '/' in [5]: os.linesep # 该操作系统的行分隔符 out[5]: '\n' in [6]: os.pathsep # 该操作系统用于分割文件的分隔符 out[6]: ':' in [7]: os.name # 返回当前系统所使用的平台(win返回nt,linux返回posix out[7]: 'posix' in [8]: os.environ # 输出系统环境变量
in [9]: import os in [10]: os.getcwd() # 获取当前工作目录 out[10]: '/users/minutesheep' in [11]: os.pardir # 输出上级目录 '..' out[11]: '..' in [12]: os.curdir # 输出当前目录 '.' out[12]: '.' in [13]: os.mkdir('test') # 创建一个文件夹,只能创建一个 in [15]: os.makedirs('test1/test2/test3') # 递归创建文件夹 in [16]: os.listdir() # 列出当前目录所有文件 in [17]: os.rmdir('test') # 删除一个空文件夹,只能删除一个 in [19]: os.removedirs('test1/test2/test3') # 递归删除空文件夹,如果上级文件夹也为空,也删除 in [20]: os.chdir('..') # 改变工作目录 in [21]: os.getcwd() # 可以看到改变了 out[21]: '/users' in [24]: os.system('touch test.py') # 执行系统命令,这里创建一个新的文件,成功则返回0 out[24]: 0 in [26]: os.stat('test.py') # 查看文件状态 out[26]: os.stat_result(st_mode=33188, st_ino=2252266, st_dev=16777223, st_nlink=1, st_uid=501, st_gid=20, st_size=0, st_atime=1549423963, st_mtime=1549423963, st_ctime=1549423963) in [27]: os.rename('test.py','new.py') # 对文件改名 in [28]: os.remove('new.py') # 删除一个文件
in [29]: import os in [30]: os.system('touch test.py') # 创建一个新文件用于操作 out[30]: 0 in [31]: os.mkdir('test') # 创建一个文件夹用于操作 in [34]: abspath = os.path.abspath('test.py') # 返回文件的绝对路径 in [35]: abspath out[35]: '/users/minutesheep/test.py' in [37]: os.path.split(abspath) # 将一个文件的绝对路径分隔为元组形式,一个是目录,一个是文件名 out[37]: ('/users/minutesheep', 'test.py') in [38]: os.path.dirname(abspath) # 返回路径的上级目录 out[38]: '/users/minutesheep' in [39]: os.path.basename(abspath) # 返回文件名,如果路径以/结尾,则返回空 out[39]: 'test.py' in [40]: os.path.exists(abspath) # 判断路径是否存在 out[40]: true in [41]: os.path.isabs(abspath) # 判断路径是否为绝对路径 out[41]: true in [42]: os.path.isfile(abspath) # 判断路径是否为文件 out[42]: true in [43]: os.path.isdir('test') # 判断路径是否为文件夹 out[43]: true
想要完全了解它,请查看其官方文档:< a href="https://docs.python.org/3.5/library/sys.html">https://docs.python.org/3.5/library/sys.html
这里只记录一些常用方法:
in [1]: import sys # 导入sys模块 in [2]: sys.argv # 输出命令行参数列表,第一个元素为当前程序本身 out[2]: ['/users/minutesheep/.pyenv/versions/3.5.2/bin/ipython'] in [3]: sys.version # 输出python版本 out[3]: '3.5.2 (default, feb 3 2019, 22:37:21) \n[gcc 4.2.1 compatible apple llvm 10.0.0 (clang-1000.10.44.4)]' in [4]: sys.path # 输出模块的搜索路径,这个是最常用的! in [5]: sys.platform # 返回操作系统平台名称 out[5]: 'darwin'
在写一个项目时,不可能只有一个程序文件,往往含有许多个不同的程序文件,这些程序文件不能都放在同一个文件夹,需要对这些文件进行归类整理。通常一个项目有可执行文件、测试文件、源代码文件、配置文件、日志文件、读我文件,这些文件应当有详细的分类,建议大家整理成如下目录树结构:
# 以speaklanguage项目为例: speaklanguage # 项目名 ├── readme # 读我文件 ├── bin # 执行目录 │ └── speak.py # 执行文件 ├── conf # 配置文件目录 │ ├── conf1.cfg # 配置文件1 │ └── conf2.cfg # 配置文件2 ├── log # 日志目录 │ └── log.log # 日志 ├── requirements.txt # 本项目需要的模块 └── speak_language # 源代码目录,通常与项目名相同 ├── chinese.py # 源代码1 ├── english.py # 源代码2 ├── main.py # 源代码入口 └── test # 测试目录,里面含有测试文件
1 # bin/speak.py 2 3 import os 4 import sys 5 6 base_dir = os.path.dirname(os.path.dirname( 7 os.path.abspath(__file__))) # 获取项目目录 8 9 sys.path.append(base_dir) # 将项目目录添加到模块的搜索列表里 10 11 if __name__ == '__main__': 12 from speak_language.main import run # 从源代码入口程序main.py中导入run方法 13 14 run() # 执行
1 # speak_language/chinese.py 2 3 def chinese(): 4 print('我是小绵羊')
1 # speak_language/english.py 2 3 def english(): 4 print('i am minutesheep')
# speak_language/main.py from speak_language import chinese from speak_language import english def run(): chinese.chinese() english.english()
1 # requirements.txt 2 3 将需要的安装的模块列在此文件中
# readme 程序说明: xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx -------------------------- 项目环境介绍: xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx -------------------------- 需要的模块: xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx -------------------------- 项目目录树: xxxxxxxxxxx xxxxxxxxxxx xxxxxxxxxxx -------------------------- 作者:minutesheep 联系方式:xxxxxx
# 执行结果 我是小绵羊 i am minutesheep
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
新手学习Python2和Python3中print不同的用法
Python基于os.environ从windows获取环境变量
网友评论