2
我有一个名为数据的文件夹,里面充满了文本文件,每个文件名都是一个州的缩写(“NY”,“CA”,“RI”等等。)。我需要输入用户名称的状态,然后打开该文件。如何从python目录中的目录打开文件
我尝试这样做:
file = ""
file = open("NY", "r").read().splitelines()
但它想出了没有在目录中。我怎样才能打开文件夹中的单个文件?
我有一个名为数据的文件夹,里面充满了文本文件,每个文件名都是一个州的缩写(“NY”,“CA”,“RI”等等。)。我需要输入用户名称的状态,然后打开该文件。如何从python目录中的目录打开文件
我尝试这样做:
file = ""
file = open("NY", "r").read().splitelines()
但它想出了没有在目录中。我怎样才能打开文件夹中的单个文件?
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
也许你正在寻找'os.path.join(os.path.dirname(__ FILE__), 'NY')',这将打开相对文件包含.py文件,而不是目录当前工作目录。 – o11c 2014-10-12 00:24:09
@ o11c,冒昧地用这个想法回答了一个答案..给你竖起大拇指;) – brunsgaard 2014-10-12 00:33:11