精华内容
下载资源
问答
  • 当一个需要打开的文件名称不带路径时,open函数会在Python程序运行的当前目录寻找该文件。 绝对路径,正斜杠反斜杠都可以,虽然我们常用’/‘来表示相对路径,’\‘来表示绝对路径, txt = open('D://wh/workspace/...
    • 当一个需要打开的文件名称不带路径时,open函数会在Python程序运行的当前目录寻找该文件。
    • 绝对路径,正斜杠反斜杠都可以【虽然我们常用’/‘来表示相对路径,’\‘来表示绝对路径
    txt = open('D://wh/workspace/daguan1/file/1.txt'','rb')
    txt = open('D:\\wh\\workspace\\daguan1\\file\\1.txt'','rb')
    

    直接从文件夹的地址栏复制绝对路径的时候,会因为 ‘\+某些字母’ 有特殊意义而报错,因此把 ‘\’ 改成 ‘\\’,做转义。或者更方便的,直接在从地址栏复制过来的地址前面加一个 ‘r’ 表示字符串内按原始含义解释,不做转义处理。
    在这里插入图片描述
    在这里插入图片描述

    • 相对路径,一般用/来表示,’.’ 表示py文件当前所处的文件夹的绝对路径,’..’ 表示py文件当前所处的文件夹上一级文件夹的绝对路径
      在这里插入图片描述
      在这里插入图片描述
      上面两种都是正确的,区别在于file前面的杠杠 ‘/’ ,如果前面不加点就不要加 ‘/’,不加默认表示和py文件同层,也就是默认是在 path = D://wh/workspace/daguan1/ 这个下面(注意是带引号的),再加的地址只是 path+open里面带印好的内容。
    展开全文
  • python open函数的中文路径报错

    千次阅读 2019-03-18 10:55:06
    # fo = open("D://temp//t1.txt", "r") #T # fo = open("D:/temp/t1.txt", "w") #T # fo = open("D:/temp/t1.txt", "r") #T # fo = open("D:/temp/t1.txt", "w") #T # fo = open("D:/测试文件/t1.txt", "...

    如下:

    # 打开一个文件
    # fo = open("D://temp//t1.txt", "r") #T
    # fo = open("D:/temp/t1.txt", "w") #T
    # fo = open("D:/temp/t1.txt", "r") #T
    # fo = open("D:/temp/t1.txt", "w") #T
    # fo = open("D:/测试文件/t1.txt", "r") #F,IOError: [Errno 2] No such file or directory: 'D:/\xe6\xb5\x8b\xe8\xaf\x95\xe6\x96\x87\xe4\xbb\xb6/t1.txt'
    # fo = open("D://测试文件//t1.txt", "r") #F,IOError: [Errno 2] No such file or directory: 'D:/\xe6\xb5\x8b\xe8\xaf\x95\xe6\x96\x87\xe4\xbb\xb6/t1.txt'
    # fo = open("D://测试文件//t1.txt", "w") #F,IOError: [Errno 2] No such file or directory: 'D:/\xe6\xb5\x8b\xe8\xaf\x95\xe6\x96\x87\xe4\xbb\xb6/t1.txt'
    # fo = open("D:/测试文件/t1.txt", "w") #F,IOError: [Errno 2] No such file or directory: 'D:/\xe6\xb5\x8b\xe8\xaf\x95\xe6\x96\x87\xe4\xbb\xb6/t1.txt'
    # fo = open(unicode("D:/测试文件/t1.txt","utf8"), "r") #T
    # fo = open(unicode("D:/测试文件/t1.txt","utf-8"), "r") #T
    # fo = open(unicode("D:/测试文件/t1.txt","UTF-8"), "r") #T
    fo = open(unicode("D:/测试文件/t1.txt","UTF8"), "r") #T  -- 中文路径写成\  也正确
    print fo.read();
    
    print "文件名: ", fo.name
    print "是否已关闭 : ", fo.closed
    print "访问模式 : ", fo.mode
    print "末尾是否强制加空格 : ", fo.softspace
    # t1.txt的内容
    # 文件名:  D:/测试文件/t1.txt
    # 是否已关闭 :  False
    # 访问模式 :  r
    # 末尾是否强制加空格 :  0

    END

     

     

     

     

     

    展开全文
  • Python open函数打开文件路径

    万次阅读 多人点赞 2018-09-06 14:27:24
    要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符,标示符'r'表示读。   >>> f = open('D:/test.txt','r')   注意了,对初学python的同学而言,open...

    要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符,标示符'r'表示读。

     

    >>> f = open('D:/test.txt','r')

     

    注意了,对初学python的同学而言,open()函数着实存在一个不大不小的坑,而且十分不容易发现。

    错误演示:

     

     
    1. >>> f = open('D:\test.txt','r')

    2. Traceback (most recent call last):

    3.  
    4. File"<ipython-input-56-6a0acaf613c9>", line 1, in <module>

    5. f =open('D:\test.txt','r')

    6.  
    7. OSError: [Errno 22] Invalid argument: 'D:\test.txt'

    仿佛没有什么不对的地方,一模一样的嘛!再仔细看,斜杠的方向不一样,为什么会出现这样的情况呢,原因在于我们从系统中直接复制文件所在路径所致,Windows系统文件路径中的斜线符号为'\'。

    这就引出了转义字符的概念,需要在字符中使用特殊字符时,python用反斜杠’\’转义字符,所以错误案例中的’\’被用作转义,导致解释器解释文件路径错误。

    改正的方法有两种:第一、将’\’的方向反向为’/’,即文首正确的写法;第二、在含有转义符的字符串前加‘r’表示字符串内按原始含义解释,不做转义处理。(推荐!)

     

    >>> f = open(r'D:\test.txt','r') 

     

    另附:

    转义字符表

    转义字符

    描述

    \(在行尾时)

    续行符

    \\

    反斜杠符号

    \'

    单引号

    \"

    双引号

    \a

    响铃

    \b

    退格(Backspace)

    \e

    转义

    \000

    \n

    换行

    \v

    纵向制表符

    \t

    横向制表符

    \r

    回车

    \f

    换页

    \oyy

    八进制数,yy代表的字符,例如:\o12代表换行

    \xyy

    十六进制数,yy代表的字符,例如:\x0a代表换行

    \other

    其它的字符以普通格式输出

    open()函数标识符表

    r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

    rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。

    r+ 打开一个文件用于读写。文件指针将会放在文件的开头。

    rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。

    w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

    ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

    a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

    ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

    展开全文
  • 今天小编就为大家分享一篇Python 解决OPEN读文件报错 ,路径以及r的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要介绍了Python学习笔记之open()函数打开文件路径报错问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 主要介绍了浅谈python 调用open()打开文件时路径出错的原因,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 使用相对路径打开文件:open(‘../../ab/a.txt’) 使用绝对路径打开文件:open('/usr/project/ab/a.txt') 如果需要获取项目目的导包路径,可以在项目的位置固定py文件中设置一个方法,这个方法的返回值是项目的...

    总结:

     使用sys.path.insert添加项目根目录到搜索路径中,作为整个项目的导包路径
     使用相对路径打开文件:open(‘../../ab/a.txt’)
     使用绝对路径打开文件:open('/usr/project/ab/a.txt')
    
     如果需要获取项目目的导包路径,可以在项目的位置固定py文件中设置一个方法,这个方法的返回值是项目的导包路径
    

    注意:

      在项目中我使用鼠标将一个py文件从一个包中拖到另一个包中。
      然后使用os.path.abspath('.')获得的路径,发现不论py文件移动到哪个包中,获取的路径都是文件开始创建时所在目录。
      然后使用os.path.abspath(__file__)获取路径,发现正是当前文件移动后的路径。
    

    首先创建项目目录结构

    先创建项目根目录文件夹pro,在项目根目录下运行下面代码,创建项目目
    
    import os
    import sys
    
    #将项目跟根目录添加到搜索路径
    root_path = os.path.normpath(os.path.abspath('.'))
    sys.path.insert(0, root_path)
    
    #创建目录
    os.makedirs('bb/cc/dd/')
    #os.path.normpath是格式路径的, 可以根据不同的平台格式化出正确的路径, 
    #如win中‘\’, linux中是'/’, 这个方法可以格式化这些路径
    chang_path = os.path.normpath(os.path.join(root_path, 'bb/cc/dd/'))
    #变更路径
    os.chdir(chang_path)
    #创建文件
    open('ff.py', 'w').close()
    open('ee.txt', 'w').close()
    
    
    #变更路径
    os.chdir(root_path)
    
    #创建目录
    os.makedirs('hh/jj/kk/')
    #os.path.normpath是格式路径的, 可以根据不同的平台格式化出正确的路径
    chang_path = os.path.normpath(os.path.join(root_path, 'hh/jj/kk/'))
    #变更路径
    os.chdir(chang_path)
    #创建文件
    open('mm.py', 'w').close()
    

    生成的目录结构为

    在这里插入图片描述

    然后在ff.py中写入一个方法

    def abc():
        print('abc')
    

    在ee.txt中写内容:abcdef

    在mm.py文件中导入ff.py

    import os
    import sys
    #将项目跟根目录添加到搜索路径
    path = os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))))
    root_path = os.path.normpath(path)
    sys.path.insert(0, root_path)
    
    
    from bb.cc.dd import ff
    
    def mm():
        ff.abc()
    mm()
    
    #正常输出结果 打印abc
    

    在mm.py文件中打开ee.txt文件

    import os
    import sys
    
    #将项目跟根目录添加到搜索路径
    path = os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))))
    root_path = os.path.normpath(path)
    sys.path.insert(0, root_path)
    
    
    def mm():
        with open('bb/cc/dd/ee.txt') as f:
            print(f.read())
    mm()
    
    #运行报错
    """
    报错信息:
    Traceback (most recent call last):
      File "/home/myubuntu/Desktop/pro/hh/jj/kk/mm.py", line 12, in <module>
        mm()
      File "/home/myubuntu/Desktop/pro/hh/jj/kk/mm.py", line 10, in mm
        with open('bb/cc/dd/ee.txt') as f:
    FileNotFoundError: [Errno 2] No such file or directory: 'bb/cc/dd/ee.txt
    """
    
    

    使用open打开文件的方式有两种:

    第一:使用绝对路径, 如下代码:
    import os
    import sys
    
    #将项目跟根目录添加到搜索路径
    path = os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))))
    root_path = os.path.normpath(path)
    sys.path.insert(0, root_path)
    
    
    def mm():
        #使用绝对路径
        file_path = os.path.normpath(os.path.join(root_path, 'bb/cc/dd/ee.txt'))
        with open(file_path) as f:
            print(f.read())
    mm()
    
    #正常输出结果, 打印abcdef
    
    

    第二:使用相对路径, 如下代码

    import os
    import sys
    
    #将项目跟根目录添加到搜索路径
    path = os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))))
    root_path = os.path.normpath(path)
    sys.path.insert(0, root_path)
    
    
    def mm():
        #使用相对路径
        with open('../../../bb/cc/dd/ee.txt') as f:
            print(f.read())
    mm()
    
    #正常运行, 打印结果为:abcdef
    
    展开全文
  • 初学python,使用open函数的路径一些坑

    万次阅读 多人点赞 2018-01-04 10:01:20
    做一个小练习:敏感词文本文件 filtered_words.txt,里面的内容为以下内容,当用户...(1)路径问题 open一个同py文件同一个目录的文件的时候,用以下: txt = open('/filtered_words.txt','rb') words = txt.readl
  • Python open()函数打开文件路径

    万次阅读 2018-05-21 09:03:35
    参考文献: Python学习笔记:open()函数打开文件路径报错问题
  • Python学习笔记:open()函数打开文件路径报错问题

    万次阅读 多人点赞 2017-03-04 17:16:39
    要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符,标示符'r'表示读。 >>> f = open('D:/test.txt','r') 注意了,对初学python的同学而言,open()函数着实存在一个不大不小的坑...
  • PythonOPEN读文件报错 ,路径以及r

    千次阅读 2017-07-19 02:31:23
    Python 中 ‘unicodeescape’ codec can’t decode bytes in position XXX: trun错误解决方案 今天在运用Python pillow模块处理图片时遇到一个错误 SyntaxError: (unicode error) ‘unicodeescape’ codec can’t ...
  • windows系统下--------------------- ... 绝对路径写法 和 相对路径写法(会在项目根目录下进行找寻imgs文件夹) with open('D:\\fgq\\imgs\\' + str(img_name) + '.jpg', 'wb') as f: f.write(r) f.close() ...
  • Python3中打开文件的方式(With open

    万次阅读 多人点赞 2018-08-05 19:53:16
    python文件读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘...
  •  在python使用内置open()函数来对文件的操作时,如果参数传入的是windows路径很容易出现报错。比如:TypeError: invalid file,OSError: [Errno 22] Invalid argument。 这是因为windows路径是以“\”作为分界符...
  • open('aaa.txt') open('/data/bbb.txt') open('D:\\user\\ccc.txt') #D:\user\aaa.txt #D:\user\data\bbb.txt #D:\user\ccc.txt
  • inpath = 'D:/学习/python/python/python就业培训视频/333/cc.txt' fr=open(inpath ,"r") f=fr.read() print f fr.close() 会出现下面的这种异常: IOError: [Errno 2] No such file or directory: 'D:/\xe5\...
  • 首先要找到自己的工作目录: import os print(os.path.abspath(os.curdir)) 然后把文件放在查到的目录下就可以了 当然也可以写绝对路径,注意的是路径中‘/’要改成‘\’ ...
  • 昨晚搞鼓了一下pythonopen()打开文件 代码如下 def main():  infile =open("C:\Users\Spirit\Desktop\bc.txt",'r')  data = infile.read()  print(data) main() 然而结果总报错invaild argument 或者...
  • python3.x再学机器学习中的KNN 用的open函数 老是出错不知道问题在哪 ![图片说明](https://img-ask.csdn.net/upload/201812/21/1545390266_882762.png) 求助!!
  • Python3之Django1.11中open()函数的路径问题 项目目录结构如下: 在根模块的views.py中使用open()的相对路径问题: 查看当前目录所有文件: import os print(os.listdir(’.’)) 程序中的代码 print("#####...
  • python打开桌面上的txt文件,文件路径错误报错, python如何打开txt文件?with open() as f函数用法 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这...
  • Python处理中文路径

    2011-08-03 22:04:48
    Python处理中文路径 方法 解决办法 # -*- coding: utf-8 -*- filepath=unicode(filepath,'utf8') fobj=open(filepath,"r") f = codecs.open('c:/intimate.txt','r','utf-8') s = f.readlines() f.close()
  • python open函数的使用

    万次阅读 多人点赞 2018-05-26 20:17:45
    ,下面介绍open函数在python操作文件上的常用方法。 file_object=open(file_name,access_mode='r',buffering='-1') access_mode:文件使用模式,在open函数中默认为只读。其他模式还有: w:以写方式打开 a:以追...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 152,982
精华内容 61,192
关键字:

open路径python

python 订阅