Python 文件I/O 并与PHP对比

阅读数: 716 2018年10月15日

1、打印到屏幕

【Python】

print 或者 print() 且字符串、数字、list,元祖 都能打印。


【PHP】

echo '只能打印数字、字符串、就是不能打印数组';

var_export(都能打印);

var_dump(都能打印);

print_r(都能打印);


2、读取键盘输入

【Python】Python 可支持交互式编程

raw_input函数(python 3.0 之前才可以用)

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


input函数

input([prompt]) 函数和 raw_input([prompt]) 函数基本类似,但是 input 可以接收一个Python表达式作为输入,并将运算结果返回。


【PHP】因为PHP不支持交互式编程,只能按文件来执行。严格讲不能与Python 比。

最接近的用法如下:

php test.php a b c  

test.php 可接受到命令行输入的参数。

直接使用 $argv、$argc 即可获得输入的参数;

例如:

php test.php a b c
Array
(
    [0] => test.php
    [1] => a
    [2] => b
    [3] => c
)
4


3、File(文件) 方法

【Python】

打开文件,可创建

file = open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

file.close() 关闭文件。关闭后文件不能再进行读写操作。

file.flush() 刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。

file.fileno() 返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。

file.isatty() 如果文件连接到一个终端设备返回 True,否则返回 False。

file.next() 返回文件下一行。

file.read([size]) 从文件读取指定的字节数,如果未给定或为负则读取所有。

file.readline([size]) 读取整行,包括 "\n" 字符。

file.readlines([sizeint]) 读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力。

file.seek(offset[, whence]) 

file.tell() 返回文件当前位置。

file.truncate([size]) 截取文件,截取的字节通过size指定,默认为当前文件位置。

file.write(str) 将字符串写入文件,返回的是写入的字符长度。

file.writelines(sequence) 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。


[File对象的属性]

file.closed返回true如果文件已被关闭,否则返回false。

file.mode返回被打开文件的访问模式。

file.name返回文件的名称。

file.softspace如果用print输出后,必须跟一个空格符,则返回false。否则返回true。


【PHP】

fopen(); - 将 filename 指定的名字资源绑定到一个流上。

fclose() - 关闭一个已打开的文件指针

fgets() - 从文件指针中读取一行

fread() - 读取文件(可安全用于二进制文件)

fwrite() - 写入文件(可安全用于二进制文件)

fsockopen() - 打开一个网络连接或者一个Unix套接字连接

file() - 把整个文件读入一个数组中

file_exists() - 检查文件或目录是否存在

is_readable() - 判断给定文件名是否可读

stream_set_timeout() - Set timeout period on a stream

popen() - 打开进程文件指针

stream_context_create() - 创建资源流上下文

umask() - 改变当前的 umask


4、文件定位

【Python】

tell()方法告诉你文件内的当前位置;

seek(offset [,from])方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。


【PHP】

ftell() - 返回文件指针读/写的位置

fseek() - 在文件指针中定位

rewind() - 倒回文件指针的位置


5、重命名和删除文件

【Python】

需要导入 os 模块

os.rename() 重命名

os.remove() 删除文件


【PHP】

rename(); 重命名

unlink(); 删除文件


6、目录操作

【Python】

os.mkdir() 创建目录,与linux 命令同名:mkdir

os.chdir() 进入某个目录,也就是改变当前目录,类似 linux 命令 cd;(交互式编程才需要注意当前工作目录,或进入其他目录)

os.getcwd() 获得当前工作目录,类似 linux 命令 pwd

os.rmdir() 删除某个目录,与linux 命令同名 rmdir


【PHP】

mkdir(); 创建目录

rmdir(); 删除目录


--------------日后完善--------------

参考资料
http://www.runoob.com/python/python-files-io.html
https://www.jb51.net/article/57517.htm
phpriji.cn | 网站地图 | 沪ICP备17015433号-1