首页 > 编程知识 正文

python open找不到文件,python csv模块

时间:2023-05-06 05:52:17 阅读:172150 作者:190

文件读取:数组

codecs.open (文件路径、方法和编码)安全性

文件路径- -文件路径函数

method--开启方式,r为读取,w为写入,rw为读写码

编码- -文件编码,中文文件使用utf-8.net

一. python打开文件代码以下:指针

f=open(d:(test.txt ),) w ) )

说明:

第一个参数是包含路径的文件名。

第二个参数是打开的模式模式代码

' r ' :只读(默认。 如果文件不存在,则抛出错误)

' w ' :仅写入(如果文件不存在,则自动创建文件) ) )。

' a ' :附加在文件末尾

' r ' :读写XML

要以二进制文件打开文件,必须在模式后加上字符“b”。 例如,' rb''wb '等博客

2、python读取文件的内容f.read(size )

参数size表示读出的数目,并且可以省略。 如果省略size参数,则会读取文件的所有内容。

f.readline ) )读取文件中的一行内容f.readlines ) )将所有行读取到数组中[line1,line2, lineN]。

此方法常用于避免将所有文件的内容加载到内存中,从而提高效率。

3、python写文件f.write(string ) )

将字符串写入文件。 写入完成后,必须在字符串后添加“n”,然后在f.close ()中关闭文件

4、档案内容定位

f.read ) )读取后,文件指针到达文件的末尾,再次读取f.read ) )可以看到读取了空内容。 如果要重新读取所有内容,必须将指针移动到文件的开头。

f.seek(0) )。

该函数的格式如下。 单位为bytes(f.seek(offset,from_what ) from_what表示开始读取的位置,offset表示从from_what进一步移动一定量的距离。 例如f.seek ) 10,3 )

from_what的值为0表示文件的开始,也可以省略。 缺省值为0,即文件的开头。 以下是完整的示例。

f=open('/tmp/workfile ',' r ' ) )

f.write(0123456789abcdef ) )。

f.seek(5) # Go to the 6th byte in the file

f .读(1) )。

f.seek (-3,2 ) # Go to the 3rd byte before the end

f .读(1) )。

5、关闭文件并释放资源文件操作完成后,请记住关闭文件f.close ()并释放资源,以便剩余的程序使用

但是,读写ASCII或gbk编码格式的文件比较简单,读写如下:

# coding=gbk

f=open(c:/intimate.txt ),(r ) ) r表示文件打开模式,即只读模式

s1=f.read ()

s2=f.readline () )。

s3=f.readlines(#读取所有内容

f.close () )

f=open(c:/intimate.txt ),(w ) ) w刻录文件

11f.write(S1 ) )。

12f.writelines(S2 )没有writeline

13 f.close () )

f.writelines不输出换行符。

读写python unicode文件:

# coding=gbk

导入代码

f=codecs.open (' c :/intimate.txt '、' a '和' utf-8 ' )

f.write(u '中文) )。

s='中文'

f.write(s.decode ) ' gbk ' ) )

f.close () )

f=codecs.open (' c :/intimate.txt '、' r '和' utf-8 ' )

s=f.readlines ()

f.close () )

for line in s:

printline.encode('gbk ' ) )。

python代码文件编码

py文件的默认代码是ASCII代码,中文在显示时会将ASCII转换为系统的默认代码,从而导致错误。 syntax error 3360非辅助字符。 要将编码说明添加到代码文件的第一行或第二行:

# coding=utf-8 ##用utf-8编码保存中文字符

直接输入的字符串(如print '中文'上所示)将根据代码文件的编码进行处理,但使用unicode编码有以下两种方法:

s1=u '中文' #u表示以unicode方式存储信息

s2=unicode (中文)、gbk (gbk ) ) ) ) ) ) )。

unicode是一个内置函数,第二个参数指示源字符串的编码格式。

decode是任何将字符串转换为unicode格式的字符串中包含的方法,参数指示源字符串的编码格式。

encode也是字符串中包含的用于将字符串转换为参数指定格式的方法。

python字符串编码

用u '汉字'制作的是unicode型,不用的话是str型

str的编码与系统环境相关,通常是在sys.getfilesystemencoding () )中获得的值

因此,要从unicode迁移到str,请使用encode方法

从str转移到unicode,所以使用decode

例如:

# coding=utf-8 #默认编码格式为utf-8

s=u '中文' #unicode代码的字符

将prints.encode(utf-8 ) )转换为utf-8格式并输出

print s #的效果与上述相同,就像默认情况下直接转换为指定的代码一样

个人总结:

u=u'unicode代码字符'

g=u.encode(gbk ) #将转换为gbk格式

此时,print g #为乱码,因为当前环境为utf-8,所以gbk编码字符为乱码

str=g.decode(gbk ) ).encode (utf-8 ) ) g )以gbk编码格式读取,转换为utf-8格式输出

print str #正常显示中文

安全的方法:

s.decode(gbk )、(ignore ) )、encode (utf-8 ) )以gbk码读取。 当然读取gbk代码形式的文字。

忽略错误的编码并将其转换为utf-8编码输出

由于decode函数的原型是decode([encoding],[errors='strict'] ),因此第二个参数可以控制错误处理策略。 缺省参数为严格,表示如果出现非法字符,则会抛出异常。

如果设置为ignore,则会忽略非法字符。

如果设置为replace,怎么办? 代替非法字符;

如果设置为xmlcharrefreplace,则使用XML字符引用。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。