您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 编程语言综合 >> 正文

详细讲解Python中的文件I/O操作

作者:佚名    责任编辑:admin    更新时间:2022-06-22

   这篇文章主要介绍了Python中的文件I/O操作,是Python入门中的基础知识,需要的朋友可以参考下

  本章将覆盖所有在Python中使用的基本I/O功能。有关更多函数,请参考标准Python文档。

  打印到屏幕上:

  产生输出最简单的方法是使用print语句,可以通过用逗号分隔的零个或多个表达式。该函数将传递到一个字符串表达式,并将结果写到标准输出,如下所示:

  ?

1 2 3 #!/usr/bin/python   print "Python is really a great language,", "isn't it?";

  这将产生结果输出在标准屏幕上,结果如下:

  ?

1 Python is really a great language, isn't it?

  读取键盘输入:

  Python提供了两个内置的函数来读取一行,从标准输入,默认情况下是来自键盘的文本。这些函数包括:

  raw_input

  input

  raw_input 函数:

  raw_input([prompt])函数从标准输入读取一行并返回一个字符串(去掉结尾的换行)。

  ?

1 2 3 4 #!/usr/bin/python   str = raw_input("Enter your input: "); print "Received input is : ", str

  这将提示您输入字符串,它会在屏幕上显示相同的字符串。当输入“Hello Python!”,它的输出是这样的:

  ?

1 2 Enter your input: Hello Python Received input is : Hello Python

  input函数:

  input([prompt]) 函数相当于raw_input,只是它假设输入的是一个有效的Python表达式,并返回计算结果。

  ?

1 2 3 4 #!/usr/bin/python   str = input("Enter your input: "); print "Received input is : ", str

  对所输入这将产生结果如下:

  ?

1 2 Enter your input: [x*5 for x in range(2,10,2)] Recieved input is : [10, 20, 30, 40]

  打开和关闭文件:

  到现在为止,已经了解读取和写入标准输入和输出。现在,我们看看如何用实际数据文件。

  Python提供了基本的函数和必要在默认情况下对文件进行操作的方法。可以使用一个文件对象file来做大部分文件操作。

  open 函数:

  想要读取或写入文件,必须使用Python内置的open()函数来打开它。该函数创建一个文件对象,这将用来调用与之关联的其他支持方式。

  语法:

  ?

1 file object = open(file_name [, access_mode][, buffering])

  下面是参数的详细信息:

  file_name: file_name参数是一个字符串值,包含您要访问的文件的名称。

  access_mode: access_mode决定了文件必须被打开,即,读,写,追加等的可能值是下表中给定的一个完整的列表的模式。这是可选参数,默认文件存取方式为read (r)。

  buffering: 如果缓冲值被设置为0时,没有缓冲将发生。如果该缓冲值是1,行缓冲会在访问一个文件来执行。如果指定的缓冲值为大于1的整数,则缓冲作用将与所指示的缓冲区的大小进行。如果为负,则缓冲区的大小是系统默认(默认行为)。

  这里是打开一个文件的不同模式的列表:

2015524151902857.jpg (573×625)

  file 对象属性:

  一旦文件被打开,文件对象可以得到有关该文件的各种信息。

  下面是文件对象相关的所有属性的列表:

2015524151929584.jpg (589×177)

  例子:

  ?

1 2 3 4 5 6 7 8 #!/usr/bin/python   # Open a file fo = open("foo.txt", "wb") print "Name of the file: ", fo.name print "Closed or not : ", fo.closed print "Opening mode : ", fo.mode print "Softspace flag : ", fo.softspace

  这将产生以下结果:

  ?

1 2 3 4 Name of the file: foo.txt Closed or not : False Opening mode : wb Softspace flag : 0

  close() 方法:

  一个文件对象的close()方法刷新未写入的信息,并关闭该文件的对象,在这之后没有数据内容可以执行写入。

  Python自动关闭,当文件的引用对象被重新分配给另外一个文件。它是使用close()方法来关闭文件是一个很好的做法。

  语法:

  ?

1 fileObject.close();

  例子:

  ?

1 2 3 4 5 6 7 8 #!/usr/bin/python   # Open a file fo = open("foo.txt", "wb") print "Name of the file: ", fo.name   # Close opend file fo.close()

  这将产生以下结果:

  ?

1 Name of the file: foo.txt

  读取和写入文件:

  file对象提供了一组访问方法。我们来看看如何使用read()和write()方法来读取和写入文件。

  write() 方法:

  write()方法写入字符串到任何一个打开的文件。要注意的是Python字符串可以具有二进制数据,而不仅仅是文字。

  write()方法不要将换行字符('n')添加到字符串的结尾:

  语法:

  ?

1 fileObject.write(string);

  这里,传递的参数是要写入到打开的文件的内容。

  例子

  ?

1 2 3 4 5 6 7 8 #!/usr/bin/python   # Open a file fo = open("foo.txt", "wb") fo.write( "Python is a great language.nYeah its great!!n");   # Close opend file fo.close()

  上面的方法会创建 foo.txt 文件,并会将给定的内容写在该文件中,并最终将关闭该文件。

  ?

1