我有一个python项目,其中包含多个模块,而一个模块中包含一长串关键字的.txt文件。
我将如何访问.txt文件并将其内容(字符串列表)从另一个位置(而不是同一目录)加载到.py脚本中的变量中?
--- Library
- Module_Alice
- etc..
- Module_Bob
- assets
- audio
- video
- texts
- all_keywords.txt
- unittests
- func
- test_text_process.py
我需要将all_keywords.txt
中的所有关键字加载到test_text_process.py
中的变量中
答案 0 :(得分:1)
使用open
您可以使用绝对路径:
with open("/root/path/to/your/file.txt",'r') as fin:
# Your reading logic
或者您可以使用相对路径:
with open("../../your/file.txt",'r') as fin:
# read it.
如果要移动文件夹并在其他位置(而不是在python文件的级别)运行它,则可能需要以这种方式进行相对导入:
import os.path as path
text_file_path = path.dirname(path.abspath(__file__)) + '/assets/texts/all_keywords.txt'
这样,您可以在任何地方运行python文件,但仍然可以使用文本文件。如果您只是做一个亲戚,则无法从其目录外部(即python path/to/script.py
答案 1 :(得分:1)
您可以使用以下内容:
with open("../../assets/texts/all_keywords.txt") as f:
keywords = f.readlines()
现在keywords
列表变量包含文件上的所有关键字。
答案 2 :(得分:1)
这会将文件从该位置读取到字符串列表中。
with open('../assets/text/all_keywords.txt') as infile:
list_of_strings = infile.readlines()