python文件读取路径怎么写,python打开文件的路径怎么写
Python文件操作(I/O):从文件路径开始关于文件路径及相关函数Python文件操作(I/O):从文件路径开始1。文件路径2。当前工作目录绝对路径和相对路径处理绝对路径和相对路径3。基本文件操作4。open()函数支持的文件打开模式缓冲文件对象的公共属性
一.文件路径
关于文件有两个关键属性,即“文件名”和“路径”。文件名是指为每个文件设置的名称,路径用于指示文件在计算机上的位置。
在Windows上,路径书写使用反斜杠“\”作为文件夹之间的分隔符,在OS X和Linux上,它使用正斜杠“/”作为路径分隔符。
二。绝对路径和相对路径当前工作目录计算机上运行的每个程序都有一个“当前工作目录”(cwd)。所有不是从根文件夹开始的文件名或路径都假定在当前工作目录中。
当前工作目录(current directory)是一个标准术语,没有当前工作文件夹这一说。
在Python中,使用os.getcwd()函数获取当前工作路径importOS的字符串。getcwd () f: \ \ Python 并使用os.chdir()更改当前工作路径os的字符串。chdir( c:\ \ program files(x86))OS。getcwd () c: \ Program Files (x86)如果用os.chdir()修改的工作目录不存在,解释器会报错OS . chdir( c:\ \ Program )file not found错误:[winerror2]系统找不到指定的文件。 C:\\Program 绝对路径和相对路径绝对路径:从根文件夹开始,盘符(C:)在Windows系统中是根文件夹,在OS X或Linux系统中是/文件夹。
相对路径:文件相对于当前工作目录的位置。
如果当前工作目录是“C:\Program Files (x86)”,并且文件demo.txt位于此Program Files (x86)文件夹中,则demo.txt的相对路径是”。\ demo.txt”(。\表示当前目录)。
当使用相对路径指示文件的位置时,请使用。\表示当前目录,而. \表示当前目录的父目录。
os.path模块处理绝对路径和相对路径的一些函数可以实现绝对路径和相对路径之间的转换,检查给定路径是否是绝对路径os。路径。ABSBH (path):返回path参数的绝对路径的字符串os.path.isabs(path):如果参数是绝对路径,返回True,如果参数是相对路径,返回false os.path.relpath (path,start):返回从起始路径到路径的相对路径的字符串。如果没有提供start,则使用当前工作目录作为开始路径。Os.path.dirname(path):返回包含path参数中最后一个斜杠之前的所有内容的字符串。os.path.basename(path):返回包含path参数中最后一个斜杠之后的所有内容的字符串。一种将相对路径转换为绝对路径的简单方法,os.path.abspath(。\ \ Scripts ) C:\ \ Program Files(x86)\ \ Scripts 参数是绝对路径,它返回true OS.path.isabs( . ).False参数是相对路径,True返回OS.path.isabs (OS.path.abspath( . ))#字符串OS.path.relpath (C: \ \ Windows , C: \ \ ) Windows 如果没有提供start,使用当前工作目录作为起始路径path=C:\\程序文件(x86)最后一个斜杠后的所有内容os.path.basename (path) # path参数程序文件(x86)最后一个斜杠前的所有内容os.path.dirname (path) # path参数 C: \ \ 目录名和基名,可以调用os.path.split()得到元组path=C:\ Program Files(x86) OS . path . split(path)( c:\ \ ,Program Files (x86)) os.path模块提供了一个函数,用于检测path参数指向的文件或文件夹是否存在于给定的路径中。 调用os.path.exists(path)返回True,否则返回false说明path参数存在并且是文件,调用os.path.isfile(path)返回True,否则返回false说明path参数存在并且是文件夹,调用os.path.isdir(path)返回True,否则返回False OS . PATH . exists( C:\ \ Windows )True OS . PATH . exists( C:\ \ Win )False OS . PATH . is file( C:\ \ Windows \ \ System32 )False OS . PATH . is file( C:\ \ Windows \ \ System32 \ \ C
删除和修改权限:作用于文件本身,属于系统级操作。读写:作用于文件内容,属于应用级操作文件的系统级操作。功能单一,易于实现。可以通过特殊模块(os、sys等)实现。)并调用模块中指定的函数。
文件的应用级操作:通常需要遵循固定的步骤,实现过程相对复杂。
应用级操作:
打开文件:使用Open()函数,它将返回一个文件对象。
读/写打开的文件:由相应的函数实现。
关闭文件:完成对文件的操作后,使用Close()函数关闭文件。
*文件必须先打开才能操作,操作完成后应关闭。秩序不能被扰乱。
四。open()函数open()函数用于创建或打开指定的文件file=open (file _ name [,mode= r [,buffering=-1 [,Encoding=None ]])用[]括起来的部分是可选参数file:表示要创建的文件对象file _ name:要创建或打开的文件的名称。名称应该是引号(单引号或双引号)模式:可选参数,用于指定文件的打开模式。如果没有写入,默认情况下,文件将以只读(R)模式打开。buffering:可选参数,用于指定读写文件时是否使用缓冲编码:手动设置打开文件时使用的编码格式,不同平台上编码参数的取值不同。比如Windows系统默认为cp936( GBK编码)open()函数支持的文件打开模式,意思是r只读模式打开文件,读写文件的指针会放在文件的开头。rb以二进制格式和只读模式打开文件,指针一般用于非文本文件(图片文件、音频文件等。).r打开文件后,可以从头读取文件内容,也可以从头写入新内容。写入的新内容将以中等长度覆盖原有内容。rb以二进制格式和读写方式打开文件,指针会放在文件的开头,一般用于非文本。
意味着w以只写模式打开文件。如果文件存在,打开文件后原始内容将被清除。wb以二进制格式和只写模式打开文件,这通常用于非文本文件。w以二进制格式和读写模式打开文件,wb对文件有读写权限。一般用于非文本文件A以追加方式打开文件,对文件只有写权限。如果文件已经存在,指针将被放置。相反,将创建一个新文件。ab以二进制格式打开文件,采用追加方式,对文件只有写权限。如果文件已经存在,指针在文件的末尾;否则,创建一个新文件A,以读写方式打开文件;如果文件存在,指针放在文件的末尾;反之,新建一个文件ab,以二进制方式打开文件,采用append方式,对文件有读写权限。如果文件存在,指针位于文件的末尾;反之,创建一个新文件*如果文件存在于上述模式,则覆盖该文件;相反,创建一个新文件。
文件打开方式决定了以后可以对文件做什么操作。对于R模式打开的文件,以后写的代码只能读取文件,不能修改其内容。
要打开的文件与当前执行的代码文件位于同一目录,可以直接写文件名;否则,您需要指定打开文件的完整路径。当文件以默认模式打开时,默认情况下使用R权限。此权限要求打开的文件必须有file=open( a.txt )print(file)file not found错误:[errno2]没有这样的文件或目录: a.txt 在与程序文件相同的目录中,手动创建一个a . txt文件file=open( a . txt )print(file)_ io . textio wrapper name= a . txt mode= r encoding= CP 936 。当使用open()打开文件时,默认情况下采用GBK编码。使用open()函数时,手动指定打开文件的编码格式file=open (a.txt ,encoding= UTF-8 )。仅当文件以文本形式打开时,才手动修改编码参数的值。当它以二进制格式打开时,您不能对编码参数的值进行任何修改。否则会出现ValueError异常缓冲区缓冲区(buffer):它是内存空间的一部分,保留在内存空间中。
如果buffing参数的值为0(或False),则表示打开指定文件时不使用缓冲区。如果buffing参数是大于1的整数,则该整数用于指定缓冲区的大小(字节)。如果buffing参数的值为负,则意味着在使用open()函数时,使用默认的缓冲区大小来打开缓冲区。不需要修改抛光参数的值。目前,计算机内存的I/O速度远远高于计算机外设(键盘、鼠标、硬盘等)的I/O速度。).如果不使用缓冲区,当程序执行I/O操作时,存储器和外设必须同步读写。
存储器必须等待外设输入(输出)一个字节才能输出(输入)另一个字节,存储器中的程序大部分时间都在等待。
有了缓冲区,程序在执行输出操作时,会先将所有数据输出到缓冲区,然后继续执行其他操作,缓冲区中的数据会被外设自己读取和处理。
程序在执行输入操作时,会先等待外设将数据读入缓冲区,不与外设同步读写。
I/O(Input/Output),输入/输出,通常指内部存储器与外部存储器或其他外围设备之间的数据输入输出。
文件的常用属性打开文件后,可以调用文件对象本身的属性来获取当前文件的一些信息:file.name:文件名file.mode:打开文件时, 采用文件打开模式file.encoding:打开一个文件file.closed:判断文件是否已关闭f=open(a.txt) #默认打开文件print(f . closed)#输出文件是否已关闭print(f.mode) #输出访问模式print(f.encoding) #输出编码格式print(f.name) #输出文件名Falsercp936a.txt用open()函数打开的文件对象必须手动关闭,Python垃圾回收机制无法自动回收打开文件所占用的资源。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。