python-task7-os、sys模块

os模块

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5cOjMUZF-1647481217684)(图片/image-20211015113553834.png)]

# -*- coding:utf-8 -*-
import os
print(os.getcwd())          # 查看当前所在路径
print(os.listdir(os.getcwd()))       # 查看当前路径下的所有文件,返回的是列表类型
print(os.path.abspath('.'))           # 返回path的绝对路径
print(os.path.abspath('..'))          # 返回上一层路径的绝对路径
print(os.path.split(os.getcwd()))     # 将路径分解为(目录绝对路径,文件夹)

print(os.path.split('D:\\pythontest\\ostest\\Hello.py'))    # --->('D:\\pythontest\\ostest', 'Hello.py')
print(os.path.split('D:\\pythontest\\ostest\\'))        # --->('D:\\pythontest\\ostest', '')
print(os.path.split('D:\\pythontest\\ostest'))          # ---->('D:\\pythontest', 'ostest')
print(os.path.join('D:\\pythontest', 'ostest'))         # --->D:\pythontest\ostest
print(os.path.join('D:\\pythontest\\ostest', 'hello.py'))    # --->D:\pythontest\ostest\hello.py
print(os.path.join('D:\\pythontest\\b', 'D:\\pythontest\\a'))     # -->D:\pythontest\a


print(os.path.dirname(os.getcwd()))   # 返回path中的文件夹部分,结果不包含'\',只返回目录
print(os.path.basename(os.getcwd()))   # 只返回文件名
print(os.path.getsize(os.getcwd()))    # 返回文件或者文件夹大小
print(os.path.exists('D:\\pythontest\\ostest\\hello.py'))       # 判断路径是否存在
print(os.path.isfile(os.getcwd()))                # 判断是否为文件,并且存在
print(os.path.isdir("F:\\daliy"))      # 判断是否为目录,并且存在
print(os.path.isfile('D:\\pythontest\\ostest\\hello.py'))    # 判断是否为文件,并且存在
print(os.remove('D:\\pythontest\\ostest\\hello.py'))   # 删除文件
print(os.stat('D:\\pythontest\\ostest\\hello.py'))   # 获取文件属性
print(os.mkdir("F:\\test.py"))     # 创建文件
print(os.remove("F:\\test.py"))     # 删除文件
print(os.rmdir("F\\"))    # 删除目录

os.environ.update({"__COMPAT_LAYER": "RUnAsInvoker"})  # 增加管理员权限打开
os.system("taskkill /f /im " + 'process_name')  # 杀死进程
os.path.normpath()和os.path.json()的区别

1.有的系统自己会在路径上加上斜杠,就形成了2个或者更多斜杠的状况。最好在路径前加个字母r,所有问题统统解决。

2.字母r 不好用,尤其是用多平台开发和部署时会有问题,我说的那个函数,再配合 os.path.abspath(’.’)

然后再拼接是最好的

os.path.normpath("%s%s" % (“dirName1”, “dirName2”))

这个的最大好处是,会按你当前运行系统的“/”或"" 来提花 你"%s%s" % (“dirName1”, “dirName2”)这句里的那个“\”,你只管分隔,而不需要管在具体系统下会用什么目录分隔符

sys模块

1.sys.argv:命令行参数列表,第一个元素是脚本的名称,可以在执行整个程序前通过终端

传入参数,然后执行程序(sys模块是与python解析器交互接口)

2.sys.path:返回模块的搜索路径的列表,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。

3.sys.exit(n):退出解析,n=0为正常退出

4.sys.stdin/sys.stdout:标准输入/标准输出。如果需要更好地控制输出,而print不能满足你的要求,可以使用它们。

os.path.isabs()用法:用于检查制定的路径是否为绝对路径

在Unix平台上,绝对路径以正斜杠(’/’)开头,而在Windows上,绝对路径在删除任何潜在的驱动器号后以反斜杠(’’)开始

用法: os.path.isabs(path)
参数:
path:代表文件系统路径的path-like对象。
path-like对象是表示路径的字符串或字节对象。

返回类型:此方法返回布尔型的布尔值。如果指定的路径是绝对路径,则此方法返回True,否则返回False。
代码1:用于os.path.isabs()方法(在Unix平台上)
# Python program to explain os.path.isabs() method  
    
# importing os.path module  
import os.path 
  
# Path 
path = '/home/User/Documents'
  
# Check whether the  
# specified path is an 
# absolute path or not 
isabs = os.path.isabs(path) 
print(isabs) 
  
  
# Path 
path = 'home/User/Documents/'
  
# Check whether the  
# specified path is an 
# absolute path or not 
isabs = os.path.isabs(path) 
print(isabs) 
  
  
# Path 
path = '../User/Documents/'
  
# Check whether the  
# specified path is an 
# absolute path or not 
isabs = os.path.isabs(path) 
print(isabs)

输出:

True
False
False

**代码2:**用于***os.path.isabs()***方法(在Windows上)

# Python program to explain os.path.isabs() method  
    
# importing os.path module  
import os.path 
  
# Path 
path = r"C:\\Users\\Documents"
  
# Check whether the  
# specified path is an 
# absolute path or not 
isabs = os.path.isabs(path) 
print(isabs) 
  
  
# Path 
path = r"\\User\\Documents"
  
# Check whether the  
# specified path is an 
# absolute path or not 
isabs = os.path.isabs(path) 
print(isabs) 
  
  
# Path 
path = r"User\\Documents"
  
# Check whether the  
# specified path is an 
# absolute path or not 
isabs = os.path.isabs(path) 
print(isabs)

输出:

True
True
False
用户账户控制(UAC)白名单的设置 Windows7下 UAC(User Account Control,用户帐户控制)是微软为提高系统安全而在Windows Vista中引入的新技术,它要求用户在执行可能会影响计算机运行的操作或执行更改影响其他用户的设置的操作之前,提供权限或管理员?密码。通过在这些操作启动前对其进行验证,UAC 可以帮助防止恶意软件和间谍软件在未经许可的情况下在计算机上进行安装或对计算机进行更改。 从Vista开始,微软开始这一新的安全工具吧,算是。对于一部分非法程序,UAC确实可以在一定程度上对其进行防范。但是,对于很多用户来说,这个功能也带来了很多困扰。 所以就想有没有白名单之类的功能,可以将我们信任的程序直接允许运行。答案是有的。但是微软没有自带,哈哈。 网上的答案绝大多数都是停止UAC,废话,如果想停止的话就不会有人问这个问题了。 可以通过微软公司出品的Microsoft Application Compatibility Toolkit 5.6将信任程序加入系统白名单。 下载Application Compatibility Toolkit 安装成功有三个程序 以管理员的权限运行Compatibility Administrator 在Custom DataBases中新建数据库,添加一个Application Fix(下面空白出点击右键,creat new) 添上你的程序名,版本,程序路径 选择none 下一步 选中RunAsInvoker 完成 在菜单栏里选择file->save。。。保存为一个sdb文件 file->install
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值