精华内容
下载资源
问答
  • vscode中python路径找不到问题

    千次阅读 2020-07-26 03:20:27
    vscode中python路径找不到问题问题原因解决方法 记录自己的采坑路程… 问题原因 这几天跑别人的工程,总是报错文件找不到,来回查找问题才发现,是IDE的问题。 用户当前打开的目录和工作目录不一致就会这样 。 ...

    vscode中python的路径找不到问题

    记录自己的采坑路程…

    问题原因

    这几天跑别人的工程,总是报错文件找不到,来回查找问题才发现,是IDE的问题。

    用户当前打开的目录和工作目录不一致就会这样 。

    要么每次需要使用vscode直接打开相应目录,否则该文件调用相对路径的文件都会出现问题。

    解决方法

    网上很多方式都是修改json文件,这里给出更简单的一种,只需要修改设置即可。如下图,勾上即可。

    勾上即可
    完美解决!

    展开全文
  • #加上下面代码 import os, sys os.chdir(sys.path[0]) #然后就可以愉快使用相对路径

    FileNotFoundError: [Errno 2] No such file or directory: ‘data/VOCdevkit/VOC2007/ImageSets/Main/train.txt’

    加上下面代码

    import os, sys
    os.chdir(sys.path[0])
    

    然后就可以愉快使用相对路径了

    展开全文
  • 一 背景信息最近在运行python程序的过程中,无意遇到了这个一个问题,在同事那边一直执行ok的程序,...意思是程序种找不到这个文件,通过查看代码,程序中是存在这个文件的。看来是代码有问题,经过几番定位,我终于...

    一 背景信息

    最近在运行python程序的过程中,无意遇到了这个一个问题,在同事那边一直执行ok的程序,到我这里怎么都有个错误,当初报的错误是这样的:

    FileNotFoundError: [Errno 2] No such file or directory: "ui.qss"

    意思是程序种找不到这个文件,通过查看代码,程序中是存在这个文件的。看来是代码有问题,经过几番定位,我终于找到问题了,是我执行代码的时候,实在文件外边执行的,可是,代码中用到了一个相对路径,所以说会上报这个错误。通过这个错误,让我认识到了自己的python基础有多差,差了不要紧,那就补起来吧。

    二 基本方法:

    1. os.getcwd()

    获取文件当前工作目录路径(绝对路径)https://docs.python.org/2/library/os.html#os.getcwd

    2. sys.path[0]

    获取文件当前工作目录路径(绝对路径)

    sys.argv[0]|获得模块所在的路径(由系统决定是否是全名)

    若显示调用python指令,如python demo.py,会得到绝对路径;

    若直接执行脚本,如./demo.py,会得到相对路径。

    3. __ file __

    获得文件所在的路径(由系统决定是否是全名)

    若显示执行Python,会得到绝对路径;

    若按相对路径来直接执行脚本./pyws/path_demo.py,会得到相对路径。

    4. os.path.abspath(__ file __)

    获得文件所在的路径(绝对路径)

    5. os.path.realpath(__ file __)

    获得文件所在的路径(绝对路径)

    三 实战训练:

    path =os.getcwd()

    path1= os.path.join(path,"test.txt")defdir_check():print("the pwd is:%s" %path)print("the full path is:%s" %path1)

    with open(path1) as file:

    css=file.readlines()print("%s" %css)defprint_dir():print("sys.path[0] =", sys.path[0])print("__file__ =", __file__)print("os.path.abspath(__file__) =", os.path.abspath(__file__))print("os.path.realpath(__file__) =", os.path.realpath(__file__))if __name__ == "__main__":

    dir_check()

    print_dir()

    由于涉及到保密问题,程序的结果我就不贴出来了,想知道的自己执行一下吧。

    对绝大多数人来说,获取一门技能的最快方法是反复练习。

    展开全文
  • Python中以绝对路径或者相对路径导入文件的方法

    万次阅读 多人点赞 2018-05-25 20:19:43
    1、在Python中以相对路径或者绝对路径来导入文件或者模块的方法    今天在调试代码的时候,程序一直提示没有该模块,一直很纳闷,因为我导入文件一直是用绝对路径进行导入的。按道理来讲是不会出现模块找不到的...

    1、在Python中以相对路径或者绝对路径来导入文件或者模块的方法

       今天在调试代码的时候,程序一直提示没有该模块,一直很纳闷,因为我导入文件一直是用绝对路径进行导入的。按道理来讲是不会出现模块找不到的情况的。
       最后仔细分析了整个代码的目录结构,才发现了问题。

    下面依次来说明一下今天的情况

    先看导入的代码:

    在demo——mnist.py文件中执行以下两种导入操作
    # 第一处
    from gcforest.gcforest import GCForest
    from gcforest.utils.config_utils import load_json
    # 第二处
    config = load_json("demo_mnist-ca.json")  # 里面传入的是文件的位置,这个函数是读取配置文件的内容

    然后看一下目录的结构

    目录的具体结构
       在此例中,demo_mnist,py为主文件。它第一处要导入的是它当前目录的父目录下的一个子目录中的一个目录中的文件。
    所以以绝对路径导入这个文件就是 from lib.gcforest.gcforet import GCForest
    以相对路径导入这个文件就是 from ..gcforest.gcforet import GCForest

    第二处导入的是它统一个目录下的另一个文件,所以可以直接导入
    所以修改的导入代码为:config = load_json("demo_mnist-ca.json")

    2、 顺便复习一下相对路径和绝对路径的概念

      绝对路径就是文件的真正存在的路径,是指从硬盘的根目录(盘符)开始,进行一级级目录指向文件。
       相对路径就是以当前文件为基准进行一级级目录指向被引用的资源文件。
        以下是常用的表示当前目录和当前目录的父级目录的标识符
      
    ../ 表示当前文件所在的目录的上一级目录
    ./ 表示当前文件所在的目录(可以省略)
    / 表示当前站点的根目录(域名映射的硬盘目录)

    在Python中可以验证一下上述的标识方法:

    测试的目录结构:
    目录的结构信息

    import os
    path1=os.path.abspath('.')   # 表示当前所处的文件夹的绝对路径
    print(path1)
    path2=os.path.abspath('..')  # 表示当前所处的文件夹上一级文件夹的绝对路径
    print(path2)
    # D:/PycharmProjects/mnistCheck/AbsolutepathAndrelativepath.py
    D:\PycharmProjects\mnistCheck
    D:\PycharmProjects

    3、 再了解一下Python sys.path的使用

    sys.path是python的搜索模块的路径集,是一个list,如下:

    [
    'D:\\PycharmProjects\\mnistCheck', 'D:\\PycharmProjects\\mnistCheck', 'D:\\PycharmProjects\\KerasDataSettry', 'C:\\ProgramData\\Anaconda3\\envs\\tensorflow\\python35.zip', 'C:\\ProgramData\\Anaconda3\\envs\\tensorflow\\DLLs', 'C:\\ProgramData\\Anaconda3\\envs\\tensorflow\\lib', 'C:\\ProgramData\\Anaconda3\\envs\\tensorflow', 'C:\\ProgramData\\Anaconda3\\envs\\tensorflow\\lib\\site-packages', 'C:\\ProgramData\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\Sphinx-1.6.3-py3.5.egg'
    ]

    可以在python 环境下使用: .
       sys.path.append(‘你的模块的名称’)。

       sys.path.insert(0,’模块的名称’)

    添加相关的路径,但在退出python环境后自己添加的路径就会自动消失!
    代码中的实现如下:

    import sys
    sys.path.append('C:\Users\Administrator\Desktop\ExperimentAss\gcForest-master')

    4、最后了解一下 python 在不同层级目录import 模块的方法(重点)

    有一个文件夹/home/a, 里面有个模块叫b.py, 我怎么把他import到程序里?

    方法一:    (属于刚开始分析的代码里第一种情况)

    import sys;
    sys.path.append(“/home/a/”)
    import b

    方法二:

      在目录里面增加__init__.py文件,里面可以写import时执行的代码,当然也可以留空就可以.
    import home.a.b

    方法三:

    from home.a.b import *
      前提 home、a中都包括__init__.py 即:要导入的文件的当前目录和父目录都要有init.py文件


      Python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。
    下面将具体介绍几种常用情况:

    (1)主程序与模块程序在同一目录下:

    如下面程序结构:
    – src
      |– mod1.py
      |– test1.py

      若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 import *;

    (2)主程序所在目录是模块所在目录的父(或祖辈)目录
    如下面程序结构:
    – src
    |– mod1.py
    |– mod2
      | – mod2.py
    – test1.py

      若在程序test1.py中导入模块mod2, 需要在mod2文件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口); 然后使用 from mod2.mod2 import * 或import mod2.mod2.

    (3)主程序导入上层目录中模块或其他目录(平级)下的模块
    如下面程序结构:
    – src
      |– mod1.py
      |– mod2
       |– mod2.py
      |– sub
        | – test2.py
      – test1.py
      若在程序test2.py中导入模块mod1.py和mod2.py。首先需要在mod2下建立__init__.py文件(同(2)),src下不必建立该文件。然后调用方式如下:
      下面程序执行方式均在程序文件所在目录下执行,如test2.py是在cd sub;之后执行python test2.py
    而test1.py是在cd src;之后执行python test1.py; 不保证在src目录下执行python sub/test2.py成功。
    import sys
    sys.path.append(“..”)
    import mod1
    import mod2.mod2

    (4)从(3)可以看出,导入模块关键是能够根据sys.path环境变量的值,找到具体模块的路径。这里仅介绍上面三种简单情况。

    总结:

      通过总结可以发现,当你要导入的文件在和你的当前文件在同一个目录时,你直接导入这个文件名就好了。

      当你要导入的文件或者目录不和你的当前文件同目录时,你需要跳到这个你要导入文件的父级目录,然后一级一级的用点号连接走过的目录或者文件,然后就可以了 至于要怎么跳到这个这个父级目录。比较通用的就是,将父级目录加入系统路径,然后用点号一级一级的寻找,直到到达你要导入的模块。

    展开全文
  • 背景信息最近在运行python程序的过程中,无意遇到了这个一个问题,在同事那边一直执行ok的程序,我这里怎么都有个错误,当初报的错误是这样的:FileNotFoundError: [Errno 2] No such file or directory: 'ui.qss'...
  • vscode相对路径调试找不到文件

    千次阅读 2019-10-14 20:29:13
    在vscode中, 点击 调试->打开配置 ,在打开的launch.json文件增加 "cwd":"" , 加完之后,如下: { "version": "0.2.0", "configurations": [ ... "name": "Python: 当前文件", "type": "python", ...
  • python相对路径文件的读取

    千次阅读 2019-07-08 18:33:43
    cifar10读取文件时,路径按照filename = '/tmp/cifar10_data/cifar-10-batchesbin/test_batch.bin',怎么读都提示找不到文件路径。 我的.py文件和tmp文件夹在同一目录下,试了半天才发现,前面多了个'/',读取本...
  • 1、在Python中以相对路径或者绝对路径来导入文件或者模块的方法 今天在调试代码的时候,程序一直提示没有该模块,一直很纳闷,因为我导入文件一直是用绝对路径进行导入的。按道理来讲是不会出现模块找不到的情况的。...
  • 一 背景信息 最近在运行python程序的过程中,无意遇到了这个一个问题,在同事那边一直执行ok的程序,到我...意思是程序种找不到这个文件,通过查看代码,程序中是存在这个文件的。看来是代码有问题,经过几番定位...
  • 当我们需要调用一个文件中的依赖于某个文件的...也就是说,通过相对路径找不到私钥文件。首先,看一下在方法被调用时的路径(在脚本中添加下面的代码) import sys import os def OppositePath(): """相对路径"...
  • 有的小伙伴可能已经发现了,即使自己在py文件当中用相对路径来找同个文件夹下的其他文件,但是当...同理,python执行路径不同时也会导致导入时找不到py文件,对于这个问题,也可以用 sys.path.append(os.path.join(os.
  • 1、在Python中以相对路径或者绝对路径来导入文件或者模块的方法    今天在调试代码的时候,程序一直提示没有该模块,一直很纳闷,因为我导入文件一直是用绝对路径进行导入的。按道理来讲是不会出现模块找不到的...
  • python中打开文件路径,如果使用的相对路径,起始点是你的python运行的主路径 就拿一个django项目来说 ...不要在某个py文件中使用这个文件相对路径去找文件,是找不到的 总之,想打开某个文件,用相对...
  • python读写的时候的相对路径问题

    千次阅读 2020-07-05 14:51:03
    发现Python程序中的相对路径不是相对于py文件而言的,而是相对于运行py文件的路径而言的,特别是如果是使用vscode来运行程序的时候,vscode是默认从打开vscode的那个文件夹取运行py文件的,如果py文件在子文件中,就...
  • Python 绝对路径引用

    千次阅读 2018-08-21 13:35:53
    问题: Python开发时经常出现找不到import对象的问题,...由于通过相对路径的加载,导致找不到object 解决方法 针对原因1和2通过安装依赖和添加__init__.py文件即可。原因3我们的解决方法是把相对路径的import...
  • 溯因:报错的原因是,使用python extension进行代码解析的时候默认的根目录为.vscode所在的目录,如果需要使用相对路径,所有的路径都需要相对与.vscode目录进行相对才有效,这是python extension本身造成的问题....
  • python模块调用时,相对路径问题

    千次阅读 2017-11-28 18:31:24
    事情的起因是最近编写一个模块,其中涉及到多个模块调用问题,而代码中全为相对路径(使用绝对路径的很少吧),于是引起了一连串‘’灵异事件‘’——明明被调用模块可以正常执行,调用模块为啥就提示找不到文件?...
  • 当我们指定了一个相对路径之后,发现代码找不到这个路径下的文件或者调用不了这个路径下的函数。这个时候可以查看一下这个相对路径对应的绝对路径是什么,是不是绝对路径错了。 比如指定 ./randn/cifar10 本意是说...
  • Python脚本有一个毛病,当使用相对路径时,被另一个不同目录下的py文件中导入时,会报找不到对应文件的问题。感觉是当前工作目录变成了导入py文件当前目录。如果你有配置文件的读取操作,然后都放在一个py文件中,而...
  • 此时如果直接执行“python main.py”,会报错说找不到txt文件。 错误产生原因:“python main.py” 执行时,程序的入口是main,也即默认的路径为main.py所在的目录,此时在a.py中使用的相对路径都变成了相对于main....
  • 关于VS Code调试Python时的执行路径

    千次阅读 2020-06-27 14:41:53
    如下,我执行子文件夹目录的moduleb.py,就报错说找不到另一个文件夹的模块(在main.py导入moduleb是正常的): 通过打印当前执行目录,可以发现路径还在VS Code打开文件夹的顶层目录: import os print(os....
  • 因为Windows和Linux文件路径的表示符号不同,所以经常在切换环境的时候提示找不到文件等。 并且由于Source Root的切换有时会导致相对路径出现问题,所以最简单的方法是让程序自动获取绝对路径,然后根据需要增删改...
  • 点进磁盘就是根目录,E:/ 、D:/分别是这个磁盘对应的根目录,在文件读取中打根目录符号,会定位代码文件所在的磁盘根目录 f2 = open('/file2.txt', 'w', encoding='utf-8') f2.write('在哪儿?\n') .
  • Python脚本有一个毛病,当使用相对路径时,被另一个不同目录下的py文件中导入时,会报找不到对应文件的问题。感觉是当前工作目录变成了导入py文件当前目录。如果你有配置文件的读取操作,然后都放在一个py文件中,而...
  • python文件操作

    2021-03-16 15:11:50
    1、文件名可以是相对路劲或绝对路径,如果找不到这个文件就会创建一个 (对于这个路径,C:\Users\lenovo\Desktop\sent.txt,如果C:\Users\lenovo\Desktop\路径存在,只是不存在sent.txt文件,那么就会建立一个sent....
  • 但使用shell执行python,当前路径就会从shell所在的路径去找文件,所以找不到文件就会报错 使用绝对路径os.path.abspath,而不要使用相对路径s.getcwd() file_path = os.path.join(os.path.absp...
  • 报错信息的意思是尝试使用相对路劲导入但找不到已知的父级包。一般来说,当你尝试在一个能够运行的.py文件内使用相对路径导入,就会发生此报错。报错的原因在于,python相对路径导入实际上需要借助当前文件的父级...
  • Python脚本有一个毛病,当使用相对路径时,被另一个不同目录下的py文件中导入时,会报找不到对应文件的问题。感觉是当前工作目录变成了导入py文件当前目录。如果你有配置文件的读取操作,然后都放在一个py文件中,而...

空空如也

空空如也

1 2 3 4
收藏数 72
精华内容 28
关键字:

python相对路径找不到文件

python 订阅