python文件I/O
键盘读入:
raw_input函数
str = raw_input("请输入: ")
input函数,可以接受一个python表达式作为输入
str = input("请输入:")
输入:[ x*5 for x in range(2, 10, 2)]
open函数:
file object = open(file_name [, access_mode] [, buffering])
不同模式打开文件的完全列表:
File对象的属性
close()方法:
File对象的close()方法刷新缓冲区里任何没写入的信息,并关闭该文件
write()方法:
将任何字符串写入一个打开的文件,python字符串可以是二进制数据
write()方法不会在字符串的结尾添加换行符('
')
read()方法:
从要给打开的文件中读取一个字符串,字符串可以是二进制数据
文件定位
tell()方法返回文件内的当前位置
seek(offset [,from])方法改变当前文件的位置,
offset变量表示要移动的字节数,from变量指定开始移动字节的参考位置
如果from设置为0,表示文件的开头作为移动字节的参考位置
如果设置为1,表示使用当前的位置作为参考位置
如果设置为2,表示文件的末尾作为参考位置
fo = open('foo.txt', 'r+')
str = fo.read(10)
position = fo.tell()
#移动指针再次定位到文件开头
position = fo.seek(0, 0)
str = fo.read(10)
重命名和删除文件
os.rename(curren_file_name, new_file_name)
os.remove(file_name)
python里的目录:
os.mkdir("newdir")
os.chdir("newdir")
os.getcwd()
os.rmdir("dirname")
Python File(文件) 方法:
Python OS 文件/目录方法
os.path模块的扩展:
os.path.abspath(path) #返回绝对路径
>>>print os.path.abspath("D:\SQAP\SQAP Training.pdf")
>>>D:SQAPSQAP Training.pdf
os.path.basename(path) #返回文件名
>>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
>>>SQAP Training.pdf
os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。
os.path.dirname(path) #返回文件路径
>>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
>>>D:\SQAP
os.path.exists(path) #路径存在则返回True,路径损坏返回False
>>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
>>>True
os.path.lexists #路径存在则返回True,路径损坏也返回True
>>>print os.path.lexists("D:\SQAP\SQAP Training.pdf")
>>>True
os.path.expanduser(path) #把path中包含的"~"和"~user"转换成用户目录
>>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
>>>D:SQAPSQAP Training.pdf
os.path.expandvars(path) #根据环境变量的值替换path中包含的"name"和"{name}"
>>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
>>>D:SQAPSQAP Training.pdf
os.path.getatime(path) #返回最后一次进入此path的时间。
>>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
>>>1419227411.08
os.path.getmtime(path) #返回在此path下最后一次修改的时间。
os.path.getctime(path) #返回path的大小
os.path.getsize(path) #返回文件大小,如果文件不存在就返回错误
os.path.isabs(path) #判断是否为绝对路径
>>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
>>>True
os.path.isfile(path) #判断路径是否为文件
>>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
>>>True
os.path.isdir(path) #判断路径是否为目录
>>>print os.path.basename("D:\SQAP\SQAP Training.pdf")
>>>False
>>>print os.path.basename("D:\SQAP")
>>>True
os.path.islink(path) #判断路径是否为链接
os.path.ismount(path) #判断路径是否为挂载点()
os.path.join(path1[, path2[, ...]]) #把目录和文件名合成一个路径
>>>print os.path.join("D:\SQAP","SQAP Training.pdf")
>>>D:SQAPSQAP Training.pdf
os.path.normcase(path) #转换path的大小写和斜杠
os.path.normpath(path) #规范path字符串形式
os.path.realpath(path) #返回path的真实路径
os.path.relpath(path[, start]) #从start开始计算相对路径
os.path.samefile(path1, path2) #判断目录或文件是否相同
os.path.sameopenfile(fp1, fp2) #判断fp1和fp2是否指向同一文件
os.path.samestat(stat1, stat2) #判断stat tuple stat1和stat2是否指向同一个文件
os.path.split(path) #把路径分割成dirname和basename,返回一个元组
>>>print os.path.split("D:\SQAP\SQAP Training.pdf")
>>>('D:\SQAP', 'SQAP Training.pdf')
os.path.splitdrive(path) #一般用在windows下,返回驱动器名和路径组成的元组
>>>print os.path.splitdrive("D:\SQAP\SQAP Training.pdf")
>>>('D:', '\SQAP\SQAP Training.pdf')
os.path.splitext(path) #分割路径,返回路径名和文件扩展名的元组
os.path.splitunc(path) #把路径分割为加载点与文件
os.path.walk(path, visit, arg) #遍历path,进入每个目录都调用visit函数,visit函数必须有
3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有
文件名,args则为walk的第三个参数
os.path.supports_unicode_filenames #设置是否支持unicode路径名