python笔记五:IO与文件

时间:2022-01-18 22:03:54

1.python IO:
  Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘:
  1)raw_input([prompt]) 函数从标准输入读取一个行,并返回一个字符串
  2)input([prompt]) 函数会假设你的输入是一个有效的Python表达式,并返回运算结果。
  3)eg:  
     str=raw_input("enter something:")  #输入的格式可以是任何形式
     print str
     str=input("enter something:")   #输入的格式必须是有效的python表达式
     print str

2.文件基本操作:(file模块)

  1)open()函数:在打开文件时应先创建一个file对象:
     file object = open(file_name [, access_mode][, buffering])参数说明:
     a)file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。
     b)access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
     c)buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。

  文件操作模式:
     r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
     rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
     r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
     rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
     w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
     wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
     w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
     wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
     a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入
     ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。新的内容将会被写入到已有内容之后。如该文件不存在,创建新文件进行写入
     a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
     ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

  2)file对象相关的所有属性的列表:
     file.closed 返回true如果文件已被关闭,否则返回false。
     file.mode 返回被打开文件的访问模式。
     file.name 返回文件的名称。
     file.softspace 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。

  3)close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。
     fileObject.close();

  4)Write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制,而不仅仅是文字。 Write()不在字符串的结尾不添加换行符('\n'):
     fileObject.write(string);
  5)read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。
     fileObject.read([count]);
  6)Tell()方法告诉你文件内的当前位置;换句话说,下一次的读写会发生在文件开头这么多字节之后
  7)seek(offset [,from])方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。
3.重命名和删除文件(os模块)
  1)rename()方法需要两个参数,当前的文件名和新文件名。
     os.rename(current_file_name, new_file_name)
  2)remove()方法删除文件,需要提供要删除的文件名作为参数。
     os.remove(file_name)
  3)mkdir()方法在当前目录下创建新的目录们。你需要提供一个包含了要创建的目录名称的参数。
     os.mkdir("newdir")
  4)chdir()方法来改变当前的目录。chdir()方法需要的一个参数是你想设成当前目录的目录名称。
     os.chdir("newdir")
  5)rmdir()方法删除目录,目录名称以参数传递,在删除这个目录之前,它的所有内容应该先被清除。
     os.rmdir('dirname')