如何通过路径访问而不是仅在当前目录中访问?
问题描述:
我已经写了一个读取excel文件并对其进行处理的函数。很显然,.py文件必须与excel文件位于同一目录中。有没有办法输入文件的路径,所以我可以将脚本放在同一个地方?如何通过路径访问而不是仅在当前目录中访问?
答
显然,.py文件必须在 与excel文件相同的目录下。
我不明白,“明明”
有没有办法进入的 文件的路径,所以我可以离开脚本 同一个地方?
是的,只要键入它
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等
而且,这个建议是很独立的什么软件你是喂养的文件名或文件路径的。
关于在Python脚本中的硬编码文件路径在Windows上:
在优选性递增的顺序:
使用反斜杠:
"c:\testdata\new.xls"
...的\t
将被解释为一个TAB字符。\n
将被解释为换行符。失败。逃避你的反斜杠:
"c:\\testdata\\new.xls"
...哟。使用原始字符串:
r"c:\testdata\new.xls"
使用正斜杠:
"c:/testdata/new.xls"
...是的,它的工作原理,输送到开时()。不要这么做...请参阅上面的脚本示例。
答
import os
os.chdir('/my/new/path')
您可以使用os.chdir
更改当前工作目录。
另一种方法是通过绝对路径引用excel文件(但是您打开它)。
的。py文件可以在与excel文件不同的目录中 - 您用来打开文件的代码是什么? – Mark 2011-02-11 19:35:48
我正在使用xlrd。所以xlrd.open_workbook('文件名') – Kosig 2011-02-11 19:40:35
只需将'filename'替换为'/ path/to/filename'即可。或者在Windows上'C:\\ Path \\ to \\ filename'。如果需要跨平台,可以使用os.join选择正确的分隔符。 – 2011-02-11 19:43:23