首页 > 编程语言 > 详细

python关于sys.argv列表的应用场景

时间:2019-03-06 00:00:20      阅读:189      评论:0      收藏:0      [点我收藏+]

python关于sys.argv列表的应用场景

1、需求很简单:

     使用 sys.argv 获取命令行参数(即要判断的文件名),然后判断文件是否存在,文件存在再进一步判断是否有读权限

 

2、分析:

    (1)filename:存储命令行参数,通过 sys.argv[1] 获取文件的名称,但存在一个异常需要考虑到:如果用户直接运行我们的程序,没有传递任何命令行参数,那么访问 sys.argv[1] 将会出现索引越界的错误

解决:在访问sys.argv 之前添加一个空字符串(sys.argv.append(""))

 

 (2)判断文件是否存在或文件是否有读权限都用到os模块

    判断文件是否存在: 使用 os.path.isfile 函数

    判断文件是否有读的权限:使用 os.access 函数。 access() 格式如下:

os.access(path, mode);
  • path -- 要用来检测是否有访问权限的路径。

  • mode -- mode为F_OK,测试存在的路径,或者它可以是包含R_OK, W_OK和X_OK或者R_OK, W_OK和X_OK其中之一或者更多。

    • os.F_OK: 测试path是否存在。
    • os.R_OK: 测试path是否可读。
    • os.W_OK:测试path是否可写。
    • os.X_OK: 测试path是否可执行。

 

3、具体代码:

 1 #!/usr/bin/python
 2 
 3 import os
 4 import sys
 5 
 6 def main():
 7     sys.argv.append("")
 8     filename = sys.argv[1]
 9     if not os.path.isfile(filename):
10         raise SystemExit(filename +  does not exists)
11     elif not os.access(filename, os.R_OK):
12         raise SystemExit(filename +  is not accessible)
13     else:
14         print (filename +  is accessible)
15 
16 if __name__ == __main__:
17     main()

 

4、结果展示

用的是普通用户

技术分享图片

 

python关于sys.argv列表的应用场景

原文:https://www.cnblogs.com/windysai/p/10480429.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!