在很多时候,你会想要让你的程序与用户(可能是你自己)交互。你会从用户那里得到输入,然后打印一
些结果。我们可以分别使用 raw_input 和 print 语句来完成这些功能。对于输出,你也可以使用多种多
样的 str (字符串)类。例如,你能够使用 rjust 方法来得到一个按一定宽度右对齐的字符串。利
用 help(str) 获得更多详情。
另一个常用的输入/输出类型是处理文件。创建、读和写文件的能力是许多程序所必需的

1.使用文件

通过创建一个file类的对象打开一个文件,分别使用file类的read  readline 或者write方法来恰当的读写文件。

对文件的读写能力取决于在打开文件时指定的模式。最后调用closed方法结束对文件的操作。

 poem = '''\
Programming is fun
When the work is done
if you wanna make your work also fun:
use Python!
'''
f = open('poem.txt', 'w') # 指定了操作模式w 即为writing
f.write(poem) # write text to file
f.close() # close the file
f = open('poem.txt')
# 如果没有指定操作模式的话 默认缺省为r 即为read while True:
line = f.readline()# readline() 每次读取文件的一行
if len(line) == 0: # 获取line的长度
break
print line,
# Notice comma to avoid automatic newline added by Python
f.close()
# close the file

程序详解:

首先定义了一个字符串文本 poem,

f = open('poem.txt', 'w') #打开一个对应的poem.txt文件 以读写的方式打开,'w' 模式打开的文件若存在则首先清空,再加入内容。
f.write(‘poem’) #写入poem 字符到poem.txt文件中
f.close() #关闭文件
f = open('poem.txt') #重新打开poem.txt文件 默认为r模式打开,'r' 模式打开已经存在的文件因为我已经创建好了 所以就使用r模式来打开已知的文件()
line = f.readline()# readline() 每次读取文件的一行 赋值给line
 #写入文件内容
>>> f = open('test.txt','w')
>>> f.write('hello,')
>>> f.write('world!')
>>> f.close() # 读取文件内容
>>> f = open('test.txt','r')
>>> f.read(4) #读取前4个字符
'hell'
>>> f.read() #读取剩余的所有字符
'o,world!'

应该牢记使用close方法关闭文件。尽管一个文件对象在退出程序后会自动关闭,但关闭文件是没什么害处的,可以避免在某些操作系统或设置中进行无用的修改,这样做也会避免 用完系统中打开文件的配额。

所以操作文件的大概程序思路就是:

1.open('filename','mode')打开一个文件使用w模式,作用:如果文件存在就打开,如果不存在就会新创建

2.write('comments') 使用write方法写入内容到文件中

3.close() 调用此方法关闭文件,保存内容

4.通过open(‘filename’)打开文件,默认是r模式

5.通过readline()函数读取文件内容

6.通过close()关闭文档

 

常用的文件访问方式如下:

r        以读方式打开

rU或Ua   以读方式打开同时提供通用换行符支持

w        以写方式打开

a        以追加方式打开

r+       以读写方式打开

w+       以读写方式打开

a+       以读写方式打开

文件的输入:

python中有三个方法来处理文件内容的输入:

read() 一次读取全部的文件内容。

readline() 每次读取文件的一行。

readlines() 读取文件的所有行,返回一个字符串列表。

												

Python基础学习笔记---5.输入\输出 I\O文件操作目录的更多相关文章

  1. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  2. Python 基础学习笔记(超详细版)

    1.变量 python中变量很简单,不需要指定数据类型,直接使用等号定义就好.python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前 ...

  3. python 基础学习笔记(1)

    声明:  本人是在校学生,自学python,也是刚刚开始学习,写博客纯属为了让自己整理知识点和关键内容,当然也希望可以通过我都博客来提醒一些零基础学习python的人们.若有什么不对,请大家及时指出, ...

  4. python 基础学习笔记(6)--函数(2)

                                                                                                        ...

  5. Python基础学习笔记(八)常用字典内置函数和方法

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-dictionary.html 3. http://www.lia ...

  6. python基础学习笔记 - 备忘

    基础中的基础 Python标识符 命名规则: Python标识符区分大小写. 可以包括英文.数字以及下划线,但不能以数字开头. 以下划线开头的标识符是有特殊意义的: a)         以单下划线开 ...

  7. Python基础学习笔记(十二)文件I/O

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-files-io.html ▶ 键盘输入 注意raw_input函 ...

  8. Python基础学习笔记(十一)函数、模块与包

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-functions.html 3. http://www.liao ...

  9. Python基础学习笔记(四)语句

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-chinese-encoding.html 3. http://w ...

随机推荐

  1. 压测软件-Tsung.安装篇

    author :James,jimingsong@vip.qq.com author :James,jimingsong@vip.qq.com since :2015-03-02 tsung介绍 ts ...

  2. 10s后自动跳转

    <div class="jf_register"> <h2>您好,欢迎光临<fmt:message key="b2cShowName&quo ...

  3. Table表格横竖线实现Css

    .tablel { border-collapse:collapse; /* 关键属性:合并表格内外边框(其实表格边框有2px,外面1px,里面还有1px哦) */ border:solid #999 ...

  4. 多标记学习--Learning from Multi-Label Data

    传统分类问题,即多类分类问题是,假设每个示例仅具有单个标记,且所有样本的标签类别数|L|大于1,然而,在很多现实世界的应用中,往往存在单个示例同时具有多重标记的情况. 而在多分类问题中,每个样本所含标 ...

  5. Arpa's weak amphitheater and Mehrdad's valuable Hoses

    Arpa's weak amphitheater and Mehrdad's valuable Hoses time limit per test 1 second memory limit per ...

  6. 常用的js事件

    onmouseover:鼠标放上去时触发事件 onmouseout:鼠标从上面移开时触发事件 onclick:鼠标单击事件 onfocus:获得焦点 onblur:失去焦点 onchange:下拉菜单 ...

  7. spring No adapter for handler 错误

    为了实现controller对JSON数据的自动解析,在spring-mvc.xml文件中增加了 <bean class="org.springframework.web.servle ...

  8. js中三目运算符和&& || 符的个人浅见

    这两天看到别人写的代码,感觉很牛逼,如下,大神请忽视 $(".lgn").on("click", function() { var a = {}; a.logi ...

  9. clone()方法、深复制和浅复制

    clone方法 Java中没有明确提供指针的概念和用法,而实质上没个new语句返回的都是一个指针的引用,只不过在大部分情况下开发人员不需要关心如何去操作这个指针而已. 在实际编程中,经常会遇到从某个已 ...

  10. usaco 17.Jan 铜组T3

    上午在打usaco月赛的铜组题,T1T2是用来秒杀的,然而T3卡了一上午,下面给出题面: 题意大概就是输入一个N*N的矩阵,矩阵中元素只有0与1两种状态,每次操作以左上角的点为矩阵中某一矩阵的左上方顶 ...