专栏首页python3python学习——python中命令行

python学习——python中命令行

python中的命令行参数

python中有一个模块sys,sys.argv这个属性提供了对命令行参数的访问。命令行参数是调用某个程序时除程序名外的其他参数。

sys.argv是命令行参数的列表

len(sys.argv)是命令行参数的个数

下面我们用一个简单的例子来说明一下。

#!/usr/bin/python
#coding:utf-8
import sys   ##加载sys这个模块。
for i in range(len(sys.argv)):
    print "第%d个参数是:%s" % (i,sys.argv[i])
print

运行上面的脚本:

python argv.py 1 2 3

结果如下:

第0个参数是:argv.py

第1个参数是:1

第2个参数是:2

第3个参数是:3

从上面的脚本运行结果我们能看得出来第一个参数是脚本名本身也就是第0个参数。其余的一次类推。

有了这个sys.argv参数我们就可以向脚本传递一些我们想要用的参数。

另一个比较常用的模块os.path可以完成对路径的操作。它提供的函数可以完成管理和操作文件路径中的各个部分,获取文件或子目录信息,文件路径查询操作。

下面列出一些os模块中常用的函数:

函数名:作用:

os.mkfifo('path/filename')/os.mknod('path/filename',mode,device)创建命名管道/创建文件系统节点

os.remove('path/filename') 删除文件

os.rename('path/filename1','path/filename2')/renames() 重命名文件

os.stat('path/filename') 返回文件信息

os.symlink('path/filename','path/ln_filename') 创建符号链接

os.utime() 更新时间戳

os.tmpfile() 创建并打开('w+b')一个新的临时文件

os.walk() 生成一个目录树下的所有文件名

目录/文件夹

os.chdir()/fchdir()  改变当前工作目录/通过一个文件描述符改变当前工作目录

chroot() 改变当前进程的根目录

listdir() 列出指定目录的文件

getcwd()/getcwdu() 返回当前工作目录/功能相同,但返回一个Unicode对象

mkdir()/makedirs() 创建目录/创建多层目录

rmdir()/removedirs() 删除目录/删除多层目录

访问/权限

access()  检验权限模式

chmod()   改变权限模式

chown()/lchown()  改变ower和group ID /功能相同,但不会跟踪链接

umask() 设置默认权限模式

文件描述符操作

open() 底层的操作系统open(对于文件,使用标准的内建open() 函数)

read()/write() 根据文件描述符读取/写入数据

dup()/dup2()  复制文件描述符号/功能相同,但是是复制到一个文件描述符设备号。

makedev() 从major和minor设备号创建一个原始设备号

major() /minor() 从原始设备号获得major/minor设备号

下面是os.path模块中的路径名访问的一些函数

函数描述

os.path.basename()去掉目录路径,返回文件名

os.path.dirname() 去掉文件名,返回目录路径

os.path.join() 将分离的各部分组合成一个路径名

os.path.split() 返回(dirname(),basename())元组

os.path.splitdrive() 返回(dirvename,pathname)元组

os.path.splitext() 返回(filename,extension)元组

信息

getatime() 返回最近访问时间

getctime() 返回文件创建时间

getmtime() 返回最近文件修改时间

getsize() 返回文件大小(以字节为单位)

查询

exists() 指定路径(文件或目录)是否存在

isabs() 指定路径是否为绝对路径

isdir() 指定路径是否存在且为一个目录

isfile() 指定路径是否存在且为一个文件

islink() 指定路径是否存在且为一个符号链接

ismount() 指定路径是否存在且为一个挂载点

samefile() 两个路径名是否指向同一个文件

以上模块和函数在python脚本中经常用到,在这里记录一下。^-^

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • js 逆向,美拍视频下载

    https://www.meipai.com/home/hot_timeline?page=3&count=12

    用户6825444
  • Python中的+=

    今天在运行之前写的一个Python脚本时,发生了一个奇怪的现象(我怎么老遇到奇怪的现象~~)。当时的代码大概长这样:

    烟草的香味
  • Python之微信自动回复

    这次使用的是 Python 一个第三方库,叫 ‘itchat’,这个库是和微信有关的一个库,能用它编写一些与微信挂钩的小程序,就像自动回复是其中一个小程序而已,...

    用户6825444
  • 程序员:我终于知道post和get的区别

    IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一...

    猿天地
  • Python之Scrapy海报资源海量下载

    今天小编给大家带来的是使用 Python 的 scrapy 框架快速写一个“千图网”的海报原图下载的爬虫,可以给设计专业的相关的人下载图片参考设计海报,也可在活...

    用户6825444
  • 0基础Python最快的入门方法与实战项目!

    今天我们来分享一位前辈的心得和学习路径,他解决了纯小白基础段入门的问题,同时推荐了每个阶段适合的练手项目,希望对你有所帮助。

    python学习教程
  • Python之Scrapy框架当当网口红爬虫

    今天小编给大家带来的是使用 Python 的 scrapy 框架快速写一个“当当网”的"口红"商品的名称,价格,评论人数,链接的爬虫,存储数到 json 文件,...

    用户6825444
  • Mac 基于Python3.7 安装PySpider

    PySpider 是国人 binux 编写的强大的网络爬虫框架,它带有强大的 WebUI、脚本编辑器、任务监控器、项目管理器以及结果处理器,同时它支持多种数据库...

    hedeqiang
  • 爬虫的结构是什么样的呢?

    在软件工程中,有着这么几个字“高内聚低耦合”,意思就是说:大模块分割成一个个小模块实现,每一个模块之间的独立性较高,修改某个模块,对其他模块或整个项目影响较小。

    用户6825444
  • Hybris Storefront里产品图片显示不出来的分析方法

    在Hybris Backoffice里新建一个product,维护了一些图片信息,然而在Storefront上进行搜索时,无论结果列表,还是产品明细页面里,都没...

    Jerry Wang

扫码关注云+社区

领取腾讯云代金券