从任何地方打开(文件)

Noo*_*rac 8 python macos file-io

在OS X Lion上工作,我正试图从终端的任何地方在我的python程序中打开一个文件.我在.bash_profile中设置了以下函数:

function testprogram() {python ~/.folder/.testprogram.py}
Run Code Online (Sandbox Code Playgroud)

这样我就可以(在终端中)从不同于〜/的目录运行我的测试程序.

现在,如果我在我的主目录中,并运行该程序,以下将工作

infile = open("folder2/test.txt", "r+")
Run Code Online (Sandbox Code Playgroud)

但是,如果我在与我的主文件夹不同的目录中并在终端中写入"testprogram",则程序启动但无法找到文件test.txt.

有没有办法永远让python从同一个位置打开文件,不受我运行程序的地方的影响?

Jor*_*ley 10

如果你想让它成为多平台我会推荐

import os
open(os.path.join(os.path.expanduser('~'),'rest/of/path/to.file'))
Run Code Online (Sandbox Code Playgroud)


Dav*_*son 9

使用代字号表示主文件夹,就像在中.bash_profile使用一样os.path.expanduser.

import os
infile = open(os.path.expanduser("~/folder2/test.txt"), "r+")
Run Code Online (Sandbox Code Playgroud)