这是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中使用。
答案 0 :(得分:1)
不要将Referer
作为字符串传递,直接使用它:sys.argv[1]
path = sys.argv[1]
(根据zwer对该问题的评论。)
答案 1 :(得分:0)
除了人们发表评论的帖子外,
您还可以使用"{}".format()
语法。
将字符串插入已形成的字符串中的一种非常干净的方法。