Python对文件的读取问题

Python对文件的读取问题,第1张

Python编程对文件的读取和写入 *** 作还是很方便的,下面对文件 *** 作的一个简单程序(testpy),代码如下:

def processFile(inputFile, outputFile):                         #定义一个函数

    fin = open(inputFile, 'r')                                  #以读的方式打开文件

    fout = open(outputFile, 'w')                                #以写得方式打开文件

    for eachLine in fin:                                        #读取文件的每一行

        line = eachLinestrip()decode('utf-8', 'ignore')       #去除每行的首位空格,并且将文件编码转换成Unicode编码

        outStr = line                                           #我没对读入的文本进行处理,只是直接将其输出到文件

        foutwrite(outStrstrip()encode('utf-8') + '\n')       #去除首位的空格,并转回到utf-8编码,然后输出

    finclose()                                                 #关闭文件

    foutclose()

processFile('myinputFiletxt', 'myoutputFiletxt')              #调用该函数对文件进行处理

按照上面的程序写完之后,输入:python testpy 就能执行该程序了。

文本文件

input = open('data', 'r')

#第二个参数默认为r

input = open('data')

读二进制文件

input = open('data', 'rb')

读取所有内容

file_object = open('thefiletxt')

try:

all_the_text = file_objectread( )

finally:

file_objectclose( )

读固定字节

file_object = open('abinfile', 'rb')

try:

while True:

chunk = file_objectread(100)

if not chunk:

break

do_something_with(chunk)

finally:

file_objectclose( )

读每行

list_of_all_the_lines = file_objectreadlines( )

如果文件是文本文件,还可以直接遍历文件对象获取每行:

for line in file_object:

process line

python有个魔术变量__file__   #(前后各两个下划线)。这个变量就是当前文件的绝对路径。

再利用Pyhon自带的os模块中的path模块可以处理路径,分理出目录和文件名。以下是示例代码。

import  os

folder,filename=ospathsplit(__file__)

print(folder,filename)

不明白可追问。

python读取文件内容的方法:

一最方便的方法是一次性读取文件中的所有内容并放置到一个大字符串中:

all_the_text = open('thefiletxt')read( )

# 文本文件中的所有文本

all_the_data = open('abinfile','rb')read( )

# 二进制文件中的所有数据

为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成 *** 作之后可以迅速关闭文件,防止一些无用的文件对象占用内存。举个例子,对文本文件读取:

file_object = open('thefiletxt')

try:

all_the_text = file_objectread( )

finally:

file_objectclose( )

不一定要在这里用Try/finally语句,但是用了效果更好,因为它可以保证文件对象被关闭,即使在读取中发生了严重错误。

二最简单、最快,也最具Python风格的方法是逐行读取文本文件内容,并将读取的数据放置到一个字符串列表中:

list_of_all_the_lines = file_objectreadlines( )

这样读出的每行文本末尾都带有"\n"符号;如果你不想这样,还有另一个替代的办法,比如:

list_of_all_the_lines = file_objectread( )splitlines( )

list_of_all_the_lines = file_objectread( )split('\n')

list_of_all_the_lines = [Lrstrip('\n') for L in file_object]

最简单最快的逐行处理文本文件的方法是,用一个简单的for循环语句:

for line in file_object:

process line

这种方法同样会在每行末尾留下"\n"符号;可以在for循环的主体部分加一句:

lineline = linerstrip('\n')

或者,你想去除每行的末尾的空白符(不只是'\n'\),常见的办法是:

lineline = linerstrip( )

以上就是关于Python对文件的读取问题全部的内容,包括:Python对文件的读取问题、python 怎么读取当前目录下指定文件、如何使用Python获取文件所在目录和文件名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9509028.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存