python文件I/O

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路径名

原文地址:https://www.cnblogs.com/djoker/p/9431356.html