您的位置:首页 > 编程语言 > Python开发

python学习第二周之初识sys和os模块

2019-06-21 20:47 127 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/wuxiaorututu/article/details/93222163

1.调用模块的名字与所造文件名不能一直,即如果调用模块名字为sys,则所在文件名不能为sys。

2.sys模块

(1)sys.path,path为打印环境变量,实例如下:

[code]import sys  #调用的模块名字与文件名不能相同(文件名为sys_mode)
#print(sys.path)    #path打印环境变量
#python中第三方库的位置C:\\Users\\Xiaoru\\AppData\\Local\\Programs\\Python\\Python37-32\\lib\\site-packages,标准库在lib目录下

以上输出结果为一连串路径

(2)a. sys.argv,打印相对路径,一下代码执行结果为['sys_mode.py']

[code]import sys  #调用的模块名字与文件名不能相同
print(sys.argv) #打印相对路径;在命令行执行时会输出相对路径,在pycharm中输出自己调用时写的绝对路径
以上为sys_mode.py中的代码

当在命令行中执行命令 python sys_mode.py 1 2 3,输出结果为 ['sys_mode.py', '1', '2', '3']

      b. 当在pycharm中增加代码为print(sys.argv[2]),代码如下:

[code]import sys  #调用的模块名字与文件名不能相同
print(sys.argv) #打印相对路径;在pycharm中输出为在自己调用时写的绝对路径
print(sys.argv[2]) #从列表中取出2,在计算机中从0开始计数,打印计数为2的值
[code]在命令行中执行python sys_mode.py 1 2 3,输出结果如下:
[code]['sys_mode.py', '1', '2', '3']
2   #计算机从0开始计数

3.os模块

(1)os.system模块,os.system("dir")为显示指定目录下的文件和子目录列表,在pycharm中执行输出结果有乱码,在命令行中执行无乱码。

[code](2)os.system("dir")为调用命令就执行,结果输出到屏幕上,不保存结果;以下代码输出结果为-->0,返回值为0,说明命令执行成功。
[code]import os
cmd_res=os.system("dir")  #执行命令,不保存结果
print("-->",cmd_res)

(3)os.popen可以将执行结果保存下来,如下:

[code]import os
#cmd_res=os.popen("dir") #执行结果为<os._wrap_close object at 0x0191FE70>,打印为内存对象地址
cmd_res=os.popen("dir").read()#将结果存到内存对象地址,需要用read方法去读取
print("-->",cmd_res) #验证将结果存入了cmd_res中

cmd_res=os.popen("dir"),输出结果为内存地址对象,需要用read方法来读取输出

4.创建一个新目录,os.mkdir("new_file"),执行该代码,则创建一个new_file的文件。

5.调用自己创建的第三方库,有一个库文件login.py,代码如下:

[code]# Author:Alex Wu
import getpass          #标准库有模块可以直接使用

_username = 'wu'
_password = 'abc123'
username = input("username:")
#password = getpass.getpass("password:")  #密文,使用命令行执行
password = input("password:")
print(username,password)
if _username == username and _password == password:
#print("welcome user {name} login...".format(name=username))#需要缩进
print("welcome user {username} login...")#需要缩进
else:
print("Invalid username or password!")
print('dddd')
如果想在sys_mode.py中调用login,只需要输入命令import login,但是需要sys_mode跟login.py处于同一目录下,否则会执行报错;这是可以将login.py置入site-packages目录下,site-packages为第三方库的放置位置,放入该目录下后可以直接调用,执行成功。

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: