文件处理:如何使用Python实现写入文件?代码示例

Python提供了用于创建, 写入和读取文件的内置函数。可以在python中处理的文件有两种类型, 普通文本文件和二进制文件(以二进制语言0s和1s编写)。

  • 文本文件:在这种类型的文件中, 每行文本都以称为EOL(行尾)的特殊字符终止, 默认情况下, 该字符是python中的换行符( n)。
  • 二进制文件:在这种类型的文件中, 一行没有终结符, 并且在将数据转换为机器可理解的二进制语言后将其存储。

注意:进一步了解文件处理点击这里.

目录访问方式打开文件关闭文件写入文件追加文件With语句

文件存取方式

访问模式控制着打开的文件中可能的操作类型。指的是打开文件后的使用方式。这些模式还定义了文件句柄在文件中的位置。文件句柄就像一个游标, 它定义了必须从何处读取或写入文件中的数据。读取文件的不同访问方式为–

  1. 只写(w):打开文件进行写入。对于现有文件, 数据将被截断并被覆盖。句柄位于文件的开头。如果文件不存在, 则创建文件。
  2. 读写(" w +"):打开文件进行读写。对于现有文件, 数据将被截断并被覆盖。句柄位于文件的开头。
  3. 仅附加('a'):打开文件进行写入。如果文件不存在, 则创建该文件。句柄位于文件的末尾。正在写入的数据将插入到现有数据的末尾。

注意:进一步了解访问模式点击这里.

打开文件

它是使用打开()功能。此功能不需要导入任何模块。

语法如下:

File_object = open(r"File_Name", "Access_Mode")

该文件应与python程序文件位于同一目录中, 否则, 应将文件的完整地址写在文件名的位置。

注意:的[R放在文件名之前, 以防止文件名字符串中的字符被视为特殊字符。例如, 如果文件地址中有 temp, 则 t被视为制表符, 并且会引发无效地址的错误。 r使字符串原始, 即, 它表明该字符串没有任何特殊字符。如果文件位于同一目录中并且未放置地址, 则可以忽略r。

# Open function to open the file "MyFile1.txt"  
# (same directory) in read mode and 
file1 = open ( "MyFile.txt" , "w" ) 
    
# store its reference in the variable file1  
# and "MyFile2.txt" in D:Text in file2 
file2 = open (r "D:TextMyFile2.txt" , "w+" )

在这里, 文件1创建为MyFile1的对象, 文件2创建为MyFile2的对象。

关闭文件

关()函数关闭文件并释放该文件获取的内存空间。在不再需要文件或要以其他文件模式打开文件时使用它。

语法如下:

File_object.close()
# Opening and Closing a file "MyFile.txt" 
# for object name file1. 
file1 = open ( "MyFile.txt" , "w" ) 
file1.close()

写入文件

有两种写入文件的方法。

  1. write():将字符串str1插入文本文件的一行中。

    File_object.write(str1)

  2. writelines():对于字符串元素列表, 每个字符串都插入到文本文件中。用于一次插入多个字符串。

    File_object.writelines(L) for L = [str1, str2, str3]

注意: ‘ n’被视为两个字节的特殊字符。

例子:

# Python program to demonstrate
# writing to file
  
# Opening a file
file1 = open ( 'myfile.txt' , 'w' )
L = [ "This is Delhi n" , "This is Paris n" , "This is London n" ]
s = "Hellon"
  
# Writing a string to file
file1.write(s)
  
# Writing multiple strings
# at a time
file1.writelines(L)
  
# Closing file
file1.close()
  
# Checking if the data is
# written to file or not
file1 = open ( 'myfile.txt' , 'r' )
print (file1.read())
file1.close()

输出如下:

Hello
This is Delhi
This is Paris
This is London

追加到文件

在追加模式下打开文件时, 句柄位于文件的末尾。正在写入的数据将插入到现有数据的末尾。让我们看下面的示例, 以阐明写模式和追加模式之间的区别。

# Python program to illustrate
# Append vs write mode
file1 = open ( "myfile.txt" , "w" )
L = [ "This is Delhi n" , "This is Paris n" , "This is London n" ]
file1.writelines(L)
file1.close()
  
# Append-adds at last
file1 = open ( "myfile.txt" , "a" )  # append mode
file1.write( "Today n" )
file1.close()
  
file1 = open ( "myfile.txt" , "r" )
print ( "Output of Readlines after appending" )
print (file1.read())
print ()
file1.close()
  
# Write-Overwrites
file1 = open ( "myfile.txt" , "w" )  # write mode
file1.write( "Tomorrow n" )
file1.close()
  
file1 = open ( "myfile.txt" , "r" )
print ( "Output of Readlines after writing" )
print (file1.read())
print ()
file1.close()

输出如下:

Output of Readlines after appending
This is Delhi
This is Paris
This is London
Today


Output of Readlines after writing
Tomorrow

with语句

与Python中的语句用于异常处理, 以使代码更整洁, 更易读。它简化了对诸如文件流之类的公共资源的管理。与上述实现不同, 无需调用file.close()与with语句一起使用时。的与语句本身可确保正确获取和释放资源。

语法如下:

with open filename as file:
# Program to show various ways to
# write data to a file using with statement
  
L = [ "This is Delhi n" , "This is Paris n" , "This is London n" ]
  
# Writing to file
with open ( "myfile.txt" , "w" ) as file1:
     # Writing data to a file
     file1.write( "Hello n" )
     file1.writelines(L)
  
# Reading from file
with open ( "myfile.txt" , "r+" ) as file1:
     # Reading form a file
     print (file1.read())

输出如下:

Hello
This is Delhi
This is Paris
This is London

更多Python开发相关内容请参考:lsbin - IT开发技术https://www.lsbin.com/

查看以下更多Python相关的内容:

你可能感兴趣的:(python文件后端文件处理)