命令行中的Python路径文件

时间:2015-07-09 18:52:34

标签: python csv

我有一个如下工作脚本,但是当我尝试从Windows命令行或从Windows任务管理器启动脚本时,我遇到了一些问题。

当我从pycharm或IDLE运行脚本时,它就像一个魅力。但是当我尝试使用这样的命令行时:

py -2.7" C:\ Users \ bob \ Google Drive \ pycharmpoject \ flux_update \ ajout_data.py"

它不起作用。它说IOError:[Errno 2]没有这样的文件或目录:' C:\ Users \ source_csv \ drop \ drop-2015-07-09.csv

看起来好像缺少路径C:\ Users \ bob \ Google Drive \ pycharmpoject \ flux_update \ source_csv \ drop-2015-07-09.csv

任何想法

import csv
import datetime
import shutil

#Declaration du jour

jour = datetime.date.today()

InFile  = os.path.abspath('../source_csv/drop-'+str(jour)+'.csv')
OutFile = os.path.abspath('../source_csv/drop_updated-'+str(jour)+'.csv')

#ajout des columns necessaires

with open(InFile, 'r') as csvinput:
    with open(OutFile, 'wb') as csvoutput:
        writer = csv.writer(csvoutput, lineterminator='\n')
        reader = csv.reader(csvinput, delimiter=",")
    '''next(reader)'''

        all = []
        row = next(reader)
        for row in reader:

            if float(row[6]) < 20:
                row.append(float(row[6])*(0.88*1.53))
                row.append(2.99)
            elif float(row[6]) < 40:
                row.append(float(row[6])*(0.88*1.40)-6.99)
                row.append(7.99)
            else:
                row.append(float(row[6])*(0.88*1.30)-29.99)
                row.append(29.99)

            all.append(row)

        for row in reader:
            row.append(row)
            all.append(row)

        writer.writerow( ('name','description') )
        writer.writerows(all)

1 个答案:

答案 0 :(得分:1)

脚本中的相对路径相对于您当前的目录进行解释。

如果必须输入命令,只要: py -2.7&#34; C:\ Users \ bob \ Google Drive \ pycharmpoject \ flux_update \ ajout_data.py&#34; 您当前的目录很可能不是&#34; C:\ Users \ bob \ Google Drive \ pycharmpoject \ flux_update&#34;应该如此。