Einführung in dateibezogene Verarbeitungsvorgänge in Python (mit Code)

不言
Freigeben: 2018-10-27 16:07:56
nach vorne
2297 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Einführung in verwandte Dateiverarbeitungsvorgänge (mit Code). Ich hoffe, er wird Ihnen als Referenz dienen.

open()-Methode

Python open()-Methode wird verwendet, um eine Datei zu öffnen und das Dateiobjekt zurückzugeben. Diese Funktion muss während der Dateiverarbeitung verwendet werden kann nicht geöffnet werden und es wird ein OSError ausgegeben.

Hinweis: Achten Sie bei Verwendung der open()-Methode darauf, das Dateiobjekt zu schließen, d. h. die close()-Methode aufzurufen.

Die übliche Form der open()-Funktion besteht darin, zwei Parameter zu empfangen: Dateiname (Datei) und Modus (Modus).
Das vollständige Syntaxformat lautet:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数说明:
file: 必需,文件路径(相对或者绝对路径)。
mode: 可选,文件打开模式
buffering: 设置缓冲
encoding: 一般使用utf8
errors: 报错级别
newline: 区分换行符
closefd: 传入的file参数类型
opener:
Nach dem Login kopieren
>>> with open('F://lixu.txt','r') as f:
...     print(f.read())
...
大家好,我叫李*!

>>> try:
...     f = open('F://lixu.txt',mode='r')
...     print(f.read())
... finally:
...     if f:
...         f.close()
...
大家好,我叫李*!
Nach dem Login kopieren
def readData(self,datafile = None):
        """
        read the data from the data file which is a data set
        """
        self.datafile = datafile or self.datafile
        self.data = []
        for line in open(self.datafile):
            userid,itemid,record,_ = line.split()
            self.data.append((userid,itemid,int(record)))
Nach dem Login kopieren

read()

Die Methode read() wird verwendet, um die angegebene Anzahl von Bytes aus der Datei zu lesen, falls nicht gegeben Wenn gesetzt oder negativ, werden alle gelesen.

>>> with open('F://lixu.txt','r') as f:
...     print(f.read())
...
大家好,我叫李*!
Nach dem Login kopieren

readline()

Die Methode readline() wird verwendet, um eine ganze Zeile aus einer Datei zu lesen, einschließlich der „n“ Zeichen. Wenn ein nicht negatives Argument angegeben wird, wird die Anzahl der Bytes der angegebenen Größe zurückgegeben, einschließlich „n“ Zeichen.

文件内容:
1:www.runoob.com
2:www.runoob.com
3:www.runoob.com
4:www.runoob.com
5:www.runoob.com

# 打开文件
fo = open("runoob.txt", "rw+")
print "文件名为: ", fo.name

line = fo.readline()
print "读取第一行 %s" % (line)

line = fo.readline(5)
print "读取的字符串为: %s" % (line)

# 关闭文件
fo.close()

文件名为:  runoob.txt
读取第一行 1:www.runoob.com
读取的字符串为: 2:www
Nach dem Login kopieren

readlines()

Die Methode readlines() wird verwendet, um alle Zeilen (bis zum Endzeichen EOF) zu lesen und eine Liste zurückzugeben, die von Python verwendet werden kann for… in … Struktur wird verarbeitet.
Wenn das Endzeichen EOF angetroffen wird, wird eine leere Zeichenfolge zurückgegeben.

def file2matrix(filename):
    """
    从文件中读入训练数据,并存储为矩阵
    """
    fr = open(filename)
    arrayOlines = fr.readlines()
    numberOfLines = len(arrayOlines)   #获取 n=样本的行数
    returnMat = zeros((numberOfLines,3))   #创建一个2维矩阵用于存放训练样本数据,一共有n行,每一行存放3个数据
    classLabelVector = []    #创建一个1维数组用于存放训练样本标签。  
    index = 0
    for line in arrayOlines:
        # 把回车符号给去掉
        line = line.strip()    
        # 把每一行数据用\t分割
        listFromLine = line.split('\t')
        # 把分割好的数据放至数据集,其中index是该样本数据的下标,就是放到第几行
        returnMat[index,:] = listFromLine[0:3]
        # 把该样本对应的标签放至标签集,顺序与样本集对应。
        classLabelVector.append(int(listFromLine[-1]))
        index += 1
    return returnMat,classLabelVector
Nach dem Login kopieren

Unterschied

>>> f = open('F://lixu.txt',mode='r')
>>> line2 = f.readline()
>>> print(line2)
大家好,我叫李*!

>>> f = open('F://lixu.txt',mode='r')
>>> line = f.read()
>>> print(line)
大家好,我叫李*!

啦啦啦



>>> f = open('F://lixu.txt',mode='r')
>>> line = f.readlines()
>>> print(line)
['大家好,我叫李*!\n', '\n', '啦啦啦\n', '\n', '\n']
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonEinführung in dateibezogene Verarbeitungsvorgänge in Python (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage