python如何导入文件夹_科学网—Python如何从任何文件夹导入模块 - 张伟的博文

本文介绍如何在Python中从非标准位置导入模块,重点在于理解sys.path的作用并将其扩展到桌面文件夹。通过添加自定义路径到sys.path,可以方便地在项目文件夹下导入模块,避免了与Python安装目录冲突。
摘要由CSDN通过智能技术生成

如果我们要写一个模块,并且可以在IDLE中顺利导入这个模块,我们必须安装Python的目录下新建一个模块的 .py 文件,

我们说过:为了使我们的 IDLE 能够顺利的找到这个模块,我们这个模块的位置应该跟我们调用的程序在同一个文件夹下。

这样就比较麻烦了,因为我们希望把自己做的项目的文件统一保存在一个文件夹下,也不希望Python的安装目录被破坏。

那么,我们就需要学习如何从我们想要的文件夹中导入模块的方法。

其实很简单:

我们首先要知道,为什么IDLE能够顺利找到在安装Python的目录下的模块文件呢:

我们调用 sys,并查看一下路径就知道了:

>>> import sys

>>> sys.path

['', 'D:\\ProgramFiles\\Anaconda3\\Lib\\idlelib', 'D:\\ProgramFiles\\Anaconda3\\python35.zip', 'D:\\ProgramFiles\\Anaconda3\\DLLs', 'D:\\ProgramFiles\\Anaconda3\\lib', 'D:\\ProgramFiles\\Anaconda3', 'D:\\ProgramFiles\\Anaconda3\\lib\\site-packages', 'D:\\ProgramFiles\\Anaconda3\\lib\\site-packages\\Sphinx-1.4.6-py3.5.egg', 'D:\\ProgramFiles\\Anaconda3\\lib\\site-packages\\win32', 'D:\\ProgramFiles\\Anaconda3\\lib\\site-packages\\win32\\lib', 'D:\\ProgramFiles\\Anaconda3\\lib\\site-packages\\Pythonwin', 'D:\\ProgramFiles\\Anaconda3\\lib\\site-packages\\setuptools-27.2.0-py3.5.egg']

默认的路径均为Python 的安装目录(我的Python是使用Anaconda安装的,大家使用官方Python安装的路径也大致相同)

只有在 sys.path 包含的路径下的模块,我们才可以直接调用,那么解决方法就很简单了。

如果我们在桌面上新建了一个 hello.py 文件,我们在里面定义一个 hi() 函数,当我按下 Ctrl + S 将这个文件保存起来的时候,这就是一个独立的Python 模块了,

def hi():

print('Hi, everyone!')

我们想在IDLE里直接调用桌面上的这个模块,如果直接调用,就会报错

>>> import hello

Traceback (most recent call last):

File "", line 1, in

import hello

ImportError: No module named 'hello'

但是我们结合上面的原理,我们可以这样做:

>>> import sys

>>> sys.path.append("C:\\Users\\XiangyangDai\\Desktop")

>>> import hello

>>> hello.hi()

Hi, everyone!

先把需要导入模块所在的路径添加到 sys.path 中,然后就可以顺利导入该模块了。

【参考】

点滴分享,福泽你我!Add oil!

转载本文请联系原作者获取授权,同时请注明本文来自张伟科学网博客。

链接地址:http://blog.sciencenet.cn/blog-3428464-1251779.html

上一篇:PyTorch中Tensor、print(f"...")

下一篇:Pytorch中的TensorDataset与DataLoader

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值