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

  • Post author:
  • Post category:python


背景:

在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)

运行成功:



版权声明:本文为m0_54493889原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。