脚本从命令提示符

时间:2018-01-09 16:31:11

标签: python csv sys

有点新手,编写一个从CSV文件中加载纬度和经度的脚本,并将其他程序的格式转换为读取......最后让它全部工作。

我想知道如何设置它以便我可以从命令提示符运行./converter.py filename.csv而不是在脚本中嵌入文件名?

目前我有这个:

csv_file = open('Vicksburg_9mph_dm.csv') #Defines name of file to open
csv_reader = csv.reader(csv_file, delimiter=',') #Opens file as CSV File

1 个答案:

答案 0 :(得分:0)

既然你说你有一个工作程序(尽管是硬编码的文件名),我会提供一个解决方案:

import sys
import csv

with open(sys.argv[1], 'r', newline='') as f:
    r = csv.reader(f, delimiter=',')
    # do your work you already do

一对夫妇注意到:

sys模块包含传递CLI参数的访问权限

sys.argvdocs中讨论的参数变量列表。

with open()语法称为上下文管理器。在您提供的代码中,您从技术上讲从未调用过close(),因此文件保持打开状态。当您退出with块时,该文件会自动关闭。

newline=''标志特定于Python 3,如果您没有该版本只是省略它