Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 自定义模块导入时不键入文件夹名称?_Python_Import_Module - Fatal编程技术网

Python 自定义模块导入时不键入文件夹名称?

Python 自定义模块导入时不键入文件夹名称?,python,import,module,Python,Import,Module,我有一个名为pythonmodules的文件夹,其中包含我经常使用的单个文件模块,例如一个名为mytimer.py。我将Python模块添加到我的WindowsPYTHONPATH环境变量中,并使用import mytimer将其导入其他文件中 但是现在我想把mytimer放在git repo中,所以我需要把它放在一个文件夹中(我不希望所有模块都放在一个repo中),比如Python modules\mytimer\mytimer.py 我想对该文件夹中的许多单文件模块执行此操作 除了将每个文件

我有一个名为
pythonmodules
的文件夹,其中包含我经常使用的单个文件模块,例如一个名为
mytimer.py
。我将
Python模块
添加到我的Windows
PYTHONPATH
环境变量中,并使用
import mytimer
将其导入其他文件中

但是现在我想把mytimer放在git repo中,所以我需要把它放在一个文件夹中(我不希望所有模块都放在一个repo中),比如
Python modules\mytimer\mytimer.py

我想对该文件夹中的许多单文件模块执行此操作


除了将每个文件夹分别添加到
PYTHONPATH
,我还能像导入
import mytimer
而不是导入
import mytimer.mytimer
,这样做吗?

通过将该路径添加到
sys.path
,让相关python会话知道该目录:

import sys
sys.path.append('/path/to/repo/folder')
import a_module_in_that_folder

如果您想将此路径永久添加到
sys.path
,已经回答了这一问题,但我希望有某种方法可以设置它(可能通过在
\uuuuu init\uuuuuuuuuuuuupy
或PYTHONPATH中执行某些操作)这不需要我修改所有已经使用
import mytimer
的文件。更新后可以参考其他文章,谢谢!这确实解决了我的问题,我在我的site packages文件夹中添加了一个.pth文件,并将我的
Python Modules
文件夹中的所有文件夹名称都写入其中。这并不像我希望的那样是一个优雅的解决方案,但我认为这比滥发我的Windows PYTHONPATH要好