python使用外部参数传入文件路径(例如argv[])防止转义解决办法

背景:

在Python里使用文件路径防止转义的办法之一是在路径前加r,例如:

path = r"D:\file\test\compliance_check"

但是如果使用外部传参的办法 path = argv[1] 会导致\t等会自动转义, 同时直接使用r"路径"的方式,因为外部传参会把r"路径"认为是一字符串传入(会把r带入),故不能解决问题。

解决办法:

使用python自带的repr, eval方法,先把外部参数argv[1]转化为字符串格式,大家可能疑问它本身就已经是字符串了,这里是把它转化为供解释器读取的字符串(因为解释器一般认为添加了双引号才是字符串),再把字符串方程有效的表达式来求值并返回结算结果,这样就不会对字符串进行转义了。

path = repr(argv[1])
path = eval(path)

运行成功:

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux系统中,使用Python编写的脚本(.py文件)可以通过传入命令行参数来接收外部输入。在终端中执行Python脚本时,可以在python命令后面跟上脚本的路径,并在之后加上一些参数,用空格分隔开。 假设有一个名为example.py的Python脚本,现在要向它传入一个参数,那么在终端中可以输入以下命令: `python example.py 参数值` 在Python脚本中,可以通过sys模块的argv变量来获取传入参数。首先,需要在脚本中导入sys模块: `import sys` 然后,使用`sys.argv`就可以获取包含命令行参数的列表。argv的第一个元素是脚本的名称,从第二个元素开始才是真正的参数值。因此,可以通过索引来获取传入参数值: `param = sys.argv[1]` 现在,变量param中就保存了传入参数值,可以在脚本中进行进一步的处理。 需要注意的是,sys.argv中的参数都是以字符串的形式进行传递的。如果需要将参数转换为其他类型(如整数或浮点数),则需要进行类型转换操作。 sys.argv的长度可以通过len(sys.argv)来获取,可以在脚本中添加逻辑判断,以确保在没有参数输入时不进行处理或给出提示信息。 总结起来,获取命令行参数的过程可以分为以下几个步骤: 1. 导入sys模块:`import sys` 2. 使用`sys.argv`获取参数列表。 3. 根据索引取出参数值并进行相应的处理。 以上就是在Linux系统中使用Python脚本接收传入文件中的参数的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值