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