将路径解析为python脚本

时间:2018-05-18 11:41:21

标签: python

这是python脚本xyz.py的一部分。

#!/usr/bin/env python

from openpyxl import Workbook
import os
wb = Workbook()
path = "/home/Final_analysis/"
#print(os.listdir())
lis = os.listdir(path)

我想将此脚本与不同的输入文件一起使用,这些文件存储在不同的目录中。要使此脚本在多个文件上运行,我每次都必须更改脚本的这一部分。

path= "/home/Final_analysis/"

我可以在python脚本之后解析路径作为参数,例如

xyz.py path_to_my_file

在命令中,以便每次我都不必更改脚本?

我在路径

中写sys.argv[1]后尝试运行脚本
#!/usr/bin/env python

from openpyxl import Workbook
import os
wb = Workbook()
path = "sys.argv[1]"
#print(os.listdir())
lis = os.listdir(path)

并运行命令xyz.py /home/final_analysis

但它仍然没有检测到路径。 我收到了以下错误

Traceback (most recent call last):
  File "combine_excel.py", line 8, in <module>
    lis = os.listdir(path)
OSError: [Errno 2] No such file or directory: 'sys.argv[1]'

我在python 2.7.6中使用。

2 个答案:

答案 0 :(得分:1)

不要将Referer作为字符串传递,直接使用它:sys.argv[1]

path = sys.argv[1]

(根据zwer对该问题的评论。)

答案 1 :(得分:0)

除了人们发表评论的帖子外, 您还可以使用"{}".format()语法。 将字符串插入已形成的字符串中的一种非常干净的方法。