设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 45486|回复: 51
打印 上一主题 下一主题

【Python 第31课】 读文件

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2014-4-24 18:36:03 |只看该作者 |正序浏览
之前,我们写的程序绝大多数都依赖于从命令行输入。假如某个程序需要输入很多数据,比如一次考试的全班学生成绩,再这么输就略显痛苦了。一个常见的办法就是把学生的成绩都保存在一个文件中,然后让程序自己从这个文件里取数据。

要读取文件,先得有文件。我们新建个文件,就叫它data.txt。在里面随便写上一些话,保存。把这个文件放在接下来你打算保存代码的文件夹下,这么做是为了方便我们的程序找到它。准备工作就绪,可以来写我们的代码了。

打开一个文件的命令很简单:

file('文件名')

这里的文件名可以用文件的完整路径,也可以是相对路径。因为我们把要读取的文件和代码放在了同一个文件夹下,所以只需要写它的文件名就够了。

f = file('data.txt')

但这一步只是打开了一个文件,并没有得到其中的内容。变量f保存了这个文件,还需要去读取它的内容。你可以通过read()函数把文件内所有内容读进一个字符串中。

data = f.read()

做完对文件的操作之后,记得用close()关闭文件,释放资源。虽然现在这样一个很短的程序,不做这一步也不会影响运行结果。但养成好习惯,可以避免以后发生莫名的错误。

完整程序示例:

f = file('data.txt')
data = f.read()
print data
f.close()

是不是很简单?
0.jpeg

读取文件内容的方法还有

readline() #读取一行内容
readlines() #把内容按行读取至一个list中

去替换程序的第二行,看看它们的区别。

#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

52#
发表于 2019-11-29 12:20:04 |只看该作者
落梦 发表于 2019-11-29 00:30
找不到路径!!!!!
f = open('a.txt')
data = f.read()

说明你文件名或者放的位置不对,翻下这个帖子之前的回帖,对你会有参考
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

7

主题

0

好友

103

积分

注册会员

Rank: 2

51#
发表于 2019-11-29 00:30:07 |只看该作者
找不到路径!!!!!
f = open('a.txt')
data = f.read()
print(data)
f.close()
----------------------------------------------------------------------------------------------------------------------------------
"C:\Program Files\Python38\python.exe" C:\Users\23593\Desktop\.idea\python练习\读文件.py
Traceback (most recent call last):
  File "C:\Users\23593\Desktop\.idea\python练习\读文件.py", line 1, in <module>
    f = open('a.txt')
FileNotFoundError: [Errno 2] No such file or directory: 'a.txt'
回复

使用道具 举报

0

主题

2

好友

72

积分

注册会员

Rank: 2

50#
发表于 2018-4-9 17:10:05 |只看该作者
课堂作业
  1. #读取文件
  2. #司南 2018.04.09
  3. f=open('class.txt')
  4. data=f.read()
  5. print(data)
  6. f.seek(0)
  7. data1=f.readline()
  8. print(data1)
  9. f.close
  10. f=open('class.txt')
  11. data2=f.readlines()
  12. print(data2)
  13. f.close()
复制代码
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

49#
发表于 2018-3-10 15:00:44 |只看该作者
yamika 发表于 2018-3-9 21:38
非常感谢楼主回复,看到32课时,也猜想应该用open了。
也感谢楼主的课程分享,很受用,学起来比直接的教 ...

谢谢支持
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

88

积分

注册会员

Rank: 2

48#
发表于 2018-3-9 21:38:05 |只看该作者
crossin先生 发表于 2018-3-9 18:39
改open了

非常感谢楼主回复,看到32课时,也猜想应该用open了。
也感谢楼主的课程分享,很受用,学起来比直接的教程有趣,希望编程教室越办越好!
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

47#
发表于 2018-3-9 18:39:55 |只看该作者
yamika 发表于 2018-3-9 15:34
py3里的是不是没有file这一指令?字体颜色都是黑色

改open了
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

88

积分

注册会员

Rank: 2

46#
发表于 2018-3-9 15:34:33 |只看该作者
py3里的是不是没有file这一指令?字体颜色都是黑色
回复

使用道具 举报

0

主题

0

好友

114

积分

注册会员

Rank: 2

45#
发表于 2017-12-4 09:27:14 |只看该作者
Imagination 发表于 2017-12-3 15:51
file 可以用在python3上吗  为什么我在python3上运行不成功 显示file没有被定义

file在python3中取消了,你可以使用open()替代
回复

使用道具 举报

1

主题

0

好友

37

积分

新手上路

Rank: 1

44#
发表于 2017-12-3 15:51:21 |只看该作者
file 可以用在python3上吗  为什么我在python3上运行不成功 显示file没有被定义
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-2 15:13 , Processed in 0.021259 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部