python路径和argparse

本文探讨了上次实验中遇到的问题,主要集中在Python的路径操作和argparse模块的使用上。通过引用两篇优快云博客文章,详细解释了如何处理文件路径以及argparse如何帮助处理命令行参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上次实验的问题

sys.argv[0] # 程序本身路径

global args #Python中定义函数时,若想在函数内部对函数外的变量进行操作,就需要在函数内部声明其为global。

glob.glob(path,'*.png') #获取指定目录向下所有的png

os.environ[''] = '' #一个字符串可以映射到一个对象

os.walk(path) # 方法用于通过在目录树中游走输出在目录中的文件名

*args # 传入的参数被封装为tuple

**kwargs # 传入的dict

路径[1]

import os
file = 'user/local/test.py'

path = 'usr/local'

os.path.dirname(file) # 去掉文件名,返回目录。

os.path.basename(file) # 输出文件名

os.path.abspath(file) # 输出绝对路径

os.path.realpath(file) # 返回指定文件的标准路径,而非软链接所在的路径

os.path.exists(file) # 判断文件路径是否存在

os.path.listdir(path) # 获得指定文件夹下的所有文件

os.path.splitext(file) # 获取文件名的后缀,返回一个tuple;('user/local/test', '.py')

os.path.join(path, 'test.py') # 拼接文件路径和文件名

print( __file__) # 获取当前文件的路径

print(os.getcwd())#获得当前工作目录

print(os.path.abspath('.'))#获得当前工作目录

print(os.path.abspath('..'))#获得当前工作目录父目录

print(os.path.abspath(os.curdir))#获得当前工作目录

argparse[2]

# 位置参数
位置参数与sys.argv调用比较像,参数没有显式的–xxx或者-xxx标签,因此调用属性也与sys.argv相同。
# 标签
'--flag'
'-f'
# 可选参数
reuired - 参数默认是可选的,需要必须则设为 =True
type - 如果希望传进来的参数是指定的类型 =int
help - 设置这个选项的帮助信息 =”test help”
nargs - 指定这个参数后面的value有多少个 =+/?’
default -如果命令行没有出现这个选项,那么使用default指定的默认值
metavar -参数名字 ='slkjsdflk'
dest - 设置这个选项的值就是解析出来后放到哪个属性中 ='别的属性'
choices - 表示该参数能接受的值只能来自某几个值候选值中,除此以外会报错
action - argparse内置6种动作可以在解析到一个参数时进行触发:
		1.store 保存参数值,可能会先将参数值转换成另一个数据类型。若没有显式指定动作,则默认为该动作。

		2.store_const 保存一个被定义为参数规格一部分的值,而不是一个来自参数解析而来的值。这通常用于实现非布尔值的命令行标记。

		3.store_ture/store_false 保存相应的布尔值。这两个动作被用于实现布尔开关。

		4.append 将值保存到一个列表中。若参数重复出现,则保存多个值。

		5.append_const 将一个定义在参数规格中的值保存到一个列表中。

		6.version 打印关于程序的版本信息,然后退出
const

Reference

[1] https://blog.youkuaiyun.com/weixin_28567617/article/details/112888816
[2] https://blog.youkuaiyun.com/qq_36653505/article/details/83788460

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值