如何通过路径而不是仅在当前目录中访问?

时间:2011-02-11 19:29:51

标签: python

我写了一个函数,它读入一个excel文件并对其进行操作。显然.py文件必须与excel文件位于同一目录中。有没有办法输入文件的路径,以便我可以将脚本保留在同一个地方?

2 个答案:

答案 0 :(得分:4)

import os
os.chdir('/my/new/path')

您可以使用os.chdir更改当前工作目录。

另一种方法是通过绝对路径引用excel文件(但是你打开它)。

答案 1 :(得分:2)

  

显然.py文件必须在   与excel文件相同的目录。

我不明白“显然”

  

有没有办法进入路径   该文件,所以我可以留下脚本   同一个地方?

是的,只需输入即可。

来自xlrd documentation

open_workbook(filename=None, etc etc etc)

    Open a spreadsheet file for data extraction.

    filename
        The path to the spreadsheet file to be opened.

脚本片段(假设您不是脚本中的硬编码路径):

import sys
import xlrd
book = xlrd.open_workbook(sys.argv[1])

在Windows“命令提示符”窗口中运行它:

python c:\myscripts\demo_script.py d:\datafiles\foo.xls

相同的原则适用于Linux,OS X等。

此外,这个建议完全独立于您提供文件名或文件路径的软件。

关于Windows上Python脚本中的硬编码文件路径:

按可升级性的升序排列:

  • 使用反斜杠:"c:\testdata\new.xls" ... \t将被解释为TAB字符。 \n将被解释为换行符。失败。

  • 逃避反斜杠:"c:\\testdata\\new.xls" ... Yuk。

  • 使用原始字符串:r"c:\testdata\new.xls"

  • 使用正斜杠:"c:/testdata/new.xls" ...是的,当它被送到open()时它可以工作。

  • 不要这样做...请参阅上面的脚本示例。