如何在python中加载模块内的文本文件?

如何在python中加载模块内的文本文件?,python,module,Python,Module,我有一个python项目,它包含多个模块,其中一个模块包含一个包含一长串关键字的.txt文件 如何访问.txt文件并将其内容(字符串列表)从另一个位置(不是同一目录)加载到.py脚本中的变量中 我需要将all_keywords.txt中的所有关键字加载到test_text\u process.py使用open 您可以使用绝对路径: with open("/root/path/to/your/file.txt",'r') as fin: # Your reading logic 也可以使

我有一个python项目,它包含多个模块,其中一个模块包含一个包含一长串关键字的.txt文件

如何访问.txt文件并将其内容(字符串列表)从另一个位置(不是同一目录)加载到.py脚本中的变量中

我需要将
all_keywords.txt
中的所有关键字加载到
test_text\u process.py
使用
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,例如
python path/to/script.py
使用
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,例如
python path/to/script.py

你可以使用这样的东西:

with open("../../assets/texts/all_keywords.txt") as f:
    keywords = f.readlines()

现在,
keywords
列表变量包含文件中的所有关键字。

您可以使用如下内容:

with open("../../assets/texts/all_keywords.txt") as f:
    keywords = f.readlines()

现在
关键字
列表变量包含文件上的所有关键字。

这将从该位置将文件读入字符串列表

with open('../assets/text/all_keywords.txt') as infile:
    list_of_strings = infile.readlines()

这将从该位置将文件读入字符串列表

with open('../assets/text/all_keywords.txt') as infile:
    list_of_strings = infile.readlines()

使用相对路径可能重复@mad_uu的相对路径是什么样的?我尝试了不同的方法,但只有绝对路径有效。ok'../../assets/text/all_keywords.txt'有效。谢谢你使用相对路径可能是@mad_u的副本相对路径是什么样的?我尝试了不同的方法,但只有绝对路径有效。ok'../../assets/text/all_keywords.txt'有效。谢谢,相对路径是什么样的?我尝试了不同的方法,但只有绝对路径有效。假设您正在运行
测试文本\u进程.py
,相对路径将是
“../assets/text/all\u keywords.txt”
相对路径是什么样的?我尝试了不同的方法,但只有绝对路径有效。假设您正在运行
测试文本\u进程.py
,相对路径将是
“../assets/text/all\u keywords.txt”
相对路径无效:FileNotFoundError:[Errno 2]没有这样的文件或目录:“../assets/text/all_keywords.txt”取决于运行文件的位置。它可能是
'Module\u Bob/assets/text/all\u keywords.txt'
'Library/Module\u Bob/assets/text/all\u keywords.txt'
相对路径不起作用:FileNotFoundError:[Errno 2]没有这样的文件或目录:'../assets/text/all\u keywords.txt'取决于运行文件的位置。它可能是
'Module\u Bob/assets/text/all\u keywords.txt'
'Library/Module\u Bob/assets/text/all\u keywords.txt'
相对路径不起作用:FileNotFoundError:[Errno 2]没有这样的文件或目录:'../assets/text/all\u keywords.txt'相对路径不起作用:FileNotFoundError:[Errno 2]没有这样的文件或目录:“../assets/text/all_keywords.txt”