Chinaunix首页 | 论坛 | 博客
  • 博客访问: 318962
  • 博文数量: 64
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 1972
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-31 21:53
个人简介

文明之精神,野蛮之体魄。

文章分类
文章存档

2015年(4)

2013年(60)

我的朋友
I/O

分类: Python/Ruby

2013-05-09 10:28:18

一、      基本输入输出

1.    基本输出:Kernel模块下包含的基本输出方法有p,print,printf,putc,puts。。。

puts:任何语言都不能输出一个对象,对象时内存里存在的内容。当我们使用puts输出一个对象时,实际上输出的是这个对象的to_s方法返回的值。

putc:只能输出一个字符,可以将一个整数转化为一个字符然后输出。

Pp方法与puts方法的用法基本相似,也可以用于输出一个或多个对象,但区别是p方法输出的不是对象的to_s方法返回值,而是对象的inspect方法返回值。

print:一样可以输出多个对象,输出对象时也是输出该对象的to_s方法返回值。可以指定域分隔符($,)来指定输出的多个对象之间的分隔符。。也可以指定行分隔符($\)来指定print方法每次输出完成后自动添加的输出。

2.    基本输入:............................getc,gets ,open,readline,readlines….getc已被废弃。。。

gets:既可以读取键盘输入,也可以读取文件输入。。当使用gets来读取文件内容时,我们需要指定所读取的文件名字,指定读取文件名需要使用ARGV常量或$*常量。这两常量作用相同,他们都是一个数组,可以接受多个文件名。

readline:和gets方法基本相似,只有一个小小的区别:对于gets方法而言,如果读取文件到了文件尾时,返回一个nil值。而readline遇到文件尾时则引发一个EOFError异常。

radlines:可以一次性地把指定文件中的所有行读到一个字符串数组里,每个数组元素对于被读文件的一行。。。。

二、      IO类简介

三、      文件访问

1.    调用系统命令:

File类提供三个访问文件时间的方法。

atime:获取文件的访问时间。ctime:获取文件的创建时间。mtime:获取文件的修改时间。

2.    打开或关闭文件:当文件访问结束后,一定要关闭文件。关闭文件可以保证缓冲区的数据被写入物理文件,还可以让Ruby释放相关底层物理资源。。。。Ruby还提供了一个open方法来打开文件,它比使用new方法来打开一个文件更方便。使用open方法与使用new方法的语法基本相同,区别在于使用open方法可以传入一个代码块,这个代码块就是我们需要对文件所做的操作。

3.    读文件:read[length[,buffer]]=>string,buffer,or nil:File实例中读取最多length个字节的内容。如果在上面的方法中使用buffer参数,则该参数应该指向一个字符串,这个字符串用于保存读到的内容。

ios.readchar=>fixnum:该方法从File实例中读取一个字符,并将该字符转换成对于的fixnum后返回。

ios.readline(sep_string=$/)=>string:该方法从指定文件中读取一行,到文件尾时会引发一个EOFError异常。

ios.gets(sep_string=$/)=>string or nil:该方法与readline方法基本相似,但不会引起EOFError异常,而是返回一个nil

ios.readlines(sep_string=$/)=>array:该方法一次读取指定文件的所有行,并把所有行的内容保存在字符串数组里。

File类里也提供了如下几个方法来直接操作文件指针的位置:

pos:返回文件指针的位置。

pos=:将文件指针移动到指定的位置。

rewind:将文件指针移动到文件开始位置。

我们使用gets一次读取文件内容时,每调用一次gets方法,文件指针下移一行。

lineno:返回当前文件指针的所在的行。

lineno=:直接将文件指针移动到指定行。

4.    使用迭代读文件:

File实例包含如下三个迭代器。

each_byte:按字节迭代,当调用迭代器时,依次将文件里的每个字节传入代码块。

each_line:按行迭代。

each:按行迭代。

5.    写文件

File类提供了如下几个方法来实现写文件。

print:将一行字符串或多行字符串写入一个文件,默认输出一行后不换行,可以通过设置“$\”来让每次print输出之后增加换行。

putc:将一个字符写入一个文件。

puts:将一行字符串或多行字符串写入一个文件,每次输出一行后自动换行。

write:将一行字符串写入一个文件。
阅读(1421) | 评论(0) | 转发(0) |
0

上一篇:多线程

下一篇:网络编程

给主人留下些什么吧!~~