命令行中的Python路径文件

2024-06-28 20:21:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个工作脚本如下,但我有一个小问题,当我试图从windows命令行或从windows任务管理器启动脚本。你知道吗

当我从pycharm或IDLE运行脚本时,它就像一个符咒。但当我试着使用命令行时,像这样:

py-2.7“C:\Users\bob\Google Drive\pycharmpoject\flux\u update\ajout_数据.py““

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

它似乎缺少路径C:\Users\bob\Google Drive\pycharmpoject\flux\u update\source\u 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)

Tags: csvpyimport脚本sourcewindowsallfloat
1条回答
网友
1楼 · 发布于 2024-06-28 20:21:59

脚本中的相对路径是相对于当前目录进行解释的。你知道吗

如果必须键入命令,只要: py-2.7“C:\Users\bob\Google Drive\pycharmpoject\flux\u update\ajout_数据.py" 您当前的目录很可能不是“C:\Users\bob\Google Drive\pycharmpobject\flux\u update”应有的目录。你知道吗

相关问题 更多 >