模块sys,os
Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的。
在Python3中标准库放置在Python的安装路径的.lib下,第三方库安装在.lib\site-packages
标准库位置(本机安装的为Anaconda,在安装目录下的Lib目录中的...)
下图的.Lib\site-packages下面放置的都是第三方库(第三方库指的是需要安装才能导入的库)。我们自己可以开发自己的第三方库。
一般情况下,自己开发的.py文件的放置到.Lib\site-packages(python全局环境变量目录)中,即可随时调用,而不局限于当前路径下的导入。
关于模块sys,os
1.sys
1
2
3
4
5
6
7
8
9
10
11
|
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys print (sys.argv) ['C:\\Users\\zoe\\PycharmProjects\\S14\\Day2', 'C:\\Users\\zoe\\PycharmProjects\\S14', 'C:\\Users\\zoe\\Anaconda3\\python36.zip', 'C:\\Users\\zoe\\Anaconda3\\DLLs', 'C:\\Users\\zoe\\Anaconda3\\lib', 'C:\\Users\\zoe\\Anaconda3', 'C:\\Users\\zoe\\Anaconda3\\lib\\site-packages', 'C:\\Users\\zoe\\Anaconda3\\lib\\site-packages\\Sphinx-1.5.1-py3.6.egg', 'C:\\Users\\zoe\\Anaconda3\\lib\\site-packages\\win32', 'C:\\Users\\zoe\\Anaconda3\\lib\\site-packages\\win32\\lib', 'C:\\Users\\zoe\\Anaconda3\\lib\\site-packages\\Pythonwin', 'C:\\Users\\zoe\\Anaconda3\\lib\\site-packages\\setuptools-27.2.0-py3.6.egg']
#返回的是
|
下面是该段命令中的sys.path,sys.argv的命令的执行结果。
import sys
print(sys.path)
'''注意,创建.py文件时一定不要用要使用的模块的名称。
原因:import module时,Python会先从当前目录下搜索,
如果当前目录下有一个sys.py的文件,在Python2中会报错,
在Python3中,已经实现去全局环境中.Lib和.Lib\site-packages查找相应的库,虽然不报错,也可正常进行,
但是还是要注意不去给自己挖坑。
'''
print('---->',sys.argv) print(sys.argv[1:]) print('''________sys_os__________
this is the current content of the sys.argv:{ar}
________sys_os__________'''.format(ar=sys.argv))
print(sys.path)输出的是python的搜索模块的路径集,是一个list。
可以在python 环境下使用sys.path.append(path)添加相关的路径,但在退出python环境后自己添加的路径就会自动消失!
print(sys.argv)输出的当前运行环境下的命令行参数,如在上述的cmd截图中的python sys_os.py 1 2。sys_os.py的文件路径,1,2都是其中的命令行参数。
.py文件中本身的参数并不属于返回的参数内容,如在sys_os.py中添加参数a=1,返回值中仍与上图一致。
所以,sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,其余参数从1开始。
python print(sys.argv[1:]) 1 2 :目的是为了返回除了文件路径以外的命令行参数 1,2。
2.os
2.1 os.system()
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Zoe
import os
os.system('dir') #os.system('dir')仅执行命令,不保存结果 cmd_os=os.system('dir') #os.system('dir')仅执行命令,不保存结果
print('----',cmd_os) #故而,该命令返回的是0. 在shell中,0表示执行成功,1表是执行不成功。
返回结果:
由于windows系统中编码与Python中的编码不匹配所以可能会出现乱码;在下面用read()方法即可解决该问题。
2.2 os.popen()
另外接下来介绍os中的另一个命令,sys.popen()。
os.system(command) os.popen(command[, mode[, bufsize]])
os.popen()功能强于os.system().
os.popen()方法用于从一个命令打开一个管道。在Unix,Windows中有效.
返回一个文件描述符号为fd的打开的文件对象
#!/usr/bin/python
# -*- coding: UTF-8 -*- import os, sys # 使用 mkdir 命令
a = 'mkdir nwdir' b = os.popen(a,'r',1) print b
执行命令print(os.popen('dir')):
import os
cmd_res=os.popen('dir')
print(cmd_res)
返回的是cmd_res该对象在内存中的存储的位置:
执行命令:
import os
cmd_res=os.popen('dir')
print(cmd_res) print(cmd_res.read())
显示结果:
2.3 os.mkdir()
os.mkdir() 方法用于以数字权限模式创建目录。默认的模式为 0777 (八进制)。
mkdir()方法语法格式如下:
os.mkdir(path[, mode])
参数
path -- 要创建的目录
mode -- 要为目录设置的权限数字模式
模块sys,os的更多相关文章
- Python常用模块sys,os,time,random功能与用法,新手备学。
这篇文章主要介绍了Python常用模块sys,os,time,random功能与用法,结合实例形式分析了Python模块sys,os,time,random功能.原理.相关模块函数.使用技巧与操作注意 ...
- 第二十天 模块 sys os os下path settings random shuit
一.sys模块 1.sys.argv 命令行参数List,第一个元素是程序本身路径 2.sys.exit(n) 退出程序,正常退出时exit(0) 3.sys.version 获取Pythonn解释程 ...
- 模块sys, os, glob, pickle, subprocess常见用法
参考python常用标准库 http://blog.51cto.com/lizhenliang/1872538 一. sys 1. sys.argv 脚本名1.py, 命令行中执行python 1 ...
- day16 常用模块 sys os json pickle
知识点 os:和操作系统相关sys:和解释器相关 json:和操作JSON(一种数据交换格式)相关pickle:序列化 hashlib:加密算法Collections:集合类型 ...
- python---基础知识回顾(四)(模块sys,os,random,hashlib,re,序列化json和pickle,xml,shutil,configparser,logging,datetime和time,其他)
前提:dir,__all__,help,__doc__,__file__ dir:可以用来查看模块中的所有特性(函数,类,变量等) >>> import copy >>& ...
- 模块 –SYS
模块 –SYS os模块是跟操作系统的交互 sys是跟python解释器的交互 sys.argv 命令行参数List,第一个元素是程序本身路径 返回一个列表 In [218]: sys.argv Ou ...
- python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...
- python 常用模块之os、sys、shutil
目录: 1.os 2.sys 3.shutil 一.os模块 说明:os模块是对操作系统进行调用的接口 os.getcwd() #获取当前工作目录,即当前python脚本工作的目录路径 os.chdi ...
- sys,os,模块-正则表达式
# *__conding:utf-8__* """"我是注释""" sys,os模块 import sysimport os pr ...
- python中模块sys与os的一些常用方法
sys模块提供了访问或操作与python解释器相关方法与对象. 我们就列举出常用到的知识,以后,随着学习,不断补充. 几个常用到的动态对象: sys.argv,这是一个列表,它包含了所有传递给脚本的命 ...
随机推荐
- Vim查找与替换命令大全,功能完爆IDE!
Vi/Vim 可以说是文本编辑中的一代传奇人物,直至现在,它仍然在高级程序员的武器库中占有一席之地.每个 Linux 发行版默认都包含Vim ,而且即使你不是 Linux 系统用户,你也可以安装 Vi ...
- CountDownLatch是个啥?
文章篇幅较短,对于一些AQS的顶级方法例如releaseShared并没有做过深的讲解,因为这些算是AQS的范畴,关于AQS可以看下另一篇文章--AQS. CountDownLatch一般被称作&q ...
- Linux/Unix下pid文件的作用
主要有三点: (1) pid文件的内容:pid文件为文本文件,内容只有一行, 记录了该进程的ID. 用cat命令可以看到. (2) pid文件的作用:防止进程启动多个副本.只有获得pid文件(固定路径 ...
- python--django中一些有用的工具引入路径
django.shortcuts render:渲染前端页面 redirect:跳转到其他页面 django forms:表单验证 # 定义 class Form(forms.Form): name ...
- 安卓开发学习日记 DAY2——android项目文件
当一个android项目建立时,会有一个目录,以下为目录所包含内容 src:放置java源代码 gen:基本不会做任何更改,放置自动生成的配置文件(主要是R文件) Android4.4.2:放置当前版 ...
- Maybatis的一些总结(二:基本使用过程)
理清一下使用需要做的步骤 建项目,导入mybatis(3.5.2)和mysql(5.1.47)进pom.xml pom.xml需配置build时过滤器,否则会出现xml文件导出不了的问题 resour ...
- Linux C++ 网络编程学习系列(7)——mbedtls编译使用
mbedtls编译使用 环境: Ubuntu18.04 编译器:gcc或clang 编译选项: 静态编译使用 1. mbedtls源码 下载地址: https://github.com/ARMmbed ...
- Jmeter命令行执行并生成HTML报告
前提:准备好jmeter脚本,找到jmeter配置文件查看生成的日志格式是否为csv,如果不是请改为csv 注意:使用命令执行jmeter脚本必须使用jmeter 3.0及以上版本1.使用命令行执行脚 ...
- python爬取《龙岭迷窟》的数据,看看质量剧情还原度到底怎么样
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:简单 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行 ...
- 实验一 熟悉IDLE和在线编程平台
实验目的 1.掌握python IDLE集成开发环境的安装与使用 2.熟悉在线编程平台 3.掌握基本的python程序编写.编译与运行程序的方法 实验内容 1.按照实验指导安装IDLE,尝试交互式运行 ...