2014-10-12 118 views
2

我有一个名为数据的文件夹,里面充满了文本文件,每个文件名都是一个州的缩写(“NY”,“CA”,“RI”等等。)。我需要输入用户名称的状态,然后打开该文件。如何从python目录中的目录打开文件

我尝试这样做:

file = "" 
file = open("NY", "r").read().splitelines() 

但它想出了没有在目录中。我怎样才能打开文件夹中的单个文件?

+3

也许你正在寻找'os.path.join(os.path.dirname(__ FILE__), 'NY')',这将打开相对文件包含.py文件,而不是目录当前工作目录。 – o11c 2014-10-12 00:24:09

+0

@ o11c,冒昧地用这个想法回答了一个答案..给你竖起大拇指;) – brunsgaard 2014-10-12 00:33:11

回答

2
from os.path import join, dirname 

data_dir = join(dirname(__file__), 'data') 

with open(join(data_dir, raw_input('Enter state: '))) as f: 
    print(f.readlines()) 

此代码将生成一个基本目录变量并将其与状态名称连接起来。执行时,您将看到

[email protected] ~/t/test> python test.py 
Enter state: NY 
['Hello, I am the NY file\n'] 

此示例在以下diretory结构的上下文中运行。

. 
├── data 
│   └── NY 
└── test.py 
相关问题