IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> python 路径问题 -> 正文阅读

[开发工具]python 路径问题

关于python中引入别的py文件(引包)的问题

1、pip安装的包

pip安装的包一般存放在python 目录下,lib – site-packages 下。但是如果我们引入的时候会怎么找到这里呢

开始我以为我在环境变量里设置过这个路径,但是我查看了一下确实没有,而在python中查看sys.path会显示以下信息,相信大家都是大同小异,可以看到 lib/site-packages确实清除的在目录下

在这里插入图片描述
既然它在sys下输出的自然要查看sys的设置文件,这里在 lib 文件夹下有个 sysconfig.py文件,可以清除的看到,这些路径都是在里面设置好了的
在这里插入图片描述
然后通过os查看当前的路径再进行拼接。这也就是为什么pip安装的包可以找到了。

既然如此,那么,我们如果像引入自己的包就仿着这个就行,简单点的 ,如果需要经常使用,简单点直接丢到site-package文件下,建立一个文件夹,放入我们的代码是不是就可以了?

让我们 try 1 try:

1、在 lib\site-package 下创建一个文件夹 aaatest (这里是我随便取的,方便在前面一眼就能看到)
2、在aaatest文件中 创建一个 testtest.py 文件,里面就写了个 a=1
3、同时创建一个 init 文件,把testtest中的所有内容import进去
在这里插入图片描述

然后打开一个终端(就是cmd),然后运行python验证
在这里插入图片描述
果然可以吧~

2、自己写的代码

然后python还提供了一个增加路径的方法,那么,如果我的代码放在e盘,我在d盘的代码想要调用,只需要把e盘代码的路径增加到 sys.path中就行了。

代码

import sys
sys.path.append('e://test')

在这里插入图片描述
额,,,,,斜杠画反了,大家要注意。
然后在test文件下的py文件就可以调用了。。。

3、问题

然而。。。这里有个问题,由于我写代码的时候喜欢使用相对路径,这样我把目录复制或移动到别的目录时依然可以直接使用,而不用修改绝对路径。

所以上面的执行方法可能会遇到一个问题

举个栗子:
	在  e:\\test  文件下 有    
	 		a.py 文件   b.txt 文件
	a文件执行的时候会读取b.txt文件的内容然后初始化一些东西。
	而我在 d:\\b.py  文件中,import a 时,则会报错找不到 b.txt 文件。

??? 我不是把路径加入到sys中了吗?

这里我想了个方法,在 a.py 中读入b.txt 文件时,使用os查一下当前的路径,然后和b.txt拼接起来,它看起来像这样。

import os
with open (os.path.abspath('./')+'\b.txt','r') as f:
	txt = f.read() 

当我满心欢喜的执行的时候。。。发现居然不行!

这时如果在 e:\a.py 文件中输出路径

print(os.path.abspath('./')+'\b.txt')

则会输出

d:\\b.txt

哈????好吧,先老老实实写绝对路径吧,有知道怎么解决的小伙伴请留言,多谢~

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-12-02 16:58:30  更:2021-12-02 17:00:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:30:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码