⑴ 笨方法学python的习题十五的读取文件得怎么做
#!usr/bin/python
#-*-coding:utf-8-*-
fromsysimportargv
script,filename=argv
print("We'regoingtoarase%r."%filename)
#打印We'regoingtoarasetest.txt
print("Ifyoudon'twantthat,hitCTRL-C(^C).")
#打印Ifyoudon'twantthat,hitCTRL-C(^C).
print("Ifyoudowantthat,hitRETURN.")
#打印Ifyoudowantthat,hitRETURN.
input("?")
print("Openingthefile...")
#打印Openingthefile...
target=open(filename,"w")
#以写模式打开test.txt
#w代表写模式打开文件
#r代表读模式打开文件
#wr代表读写模式打开文件
#w+代表读写模式打开文件
#r+代表读写模式打开文件
#a+代表读写模式打开文件
print("Truncatingthefile.Goodbye!")
#打印Truncatingthefile.Goodbye!
target.truncate()
#清空text.txt文件
print("NowI'mgoingtoaskyouforthreelines.")
#打印NowI'mgoingtoaskyouforthreelines.
line1=input("line1:")
line2=input("line2:")
line3=input("line3:")
#输入line1/2/3内容
print("I'mgoingtowritethesetothefile.")
#打印I'mgoingtowritethesetothefile
target.write(line1)
target.write(" ")
target.write(line2)
target.write(" ")
target.write(line3)
target.write(" ")
#写入内容
print("Andfinally,wecloseit.")
#打印Andfinally,wecloseit.
target.close()
运行结果如下:
$pythonex16.pytest.txt
We'regoingtoerase'test.txt'.
Ifyoudon'twantthat,hitCTRL-C(^C).
Ifyoudowantthat,hitRETURN.
?
Openingthefile...
Truncatingthefile.Goodbye!
NowI'mgoingtoaskyouforthreelines.
line1:Toallthepeopleoutthere.
line2:IsayIdon'tlikemyhair.
line3:Ineedtoshaveitoff.
I'mgoingtowritethesetothefile.
Andfinally,wecloseit.
$
加分习题
①如果你觉得自己没有弄懂的话,用我们的老办法,在每一行之前加上注解,为自己理清思路。就算不能理清思路,你也可以知道自己究竟具体哪里没弄明白。
②写一个和上一个练习类似的脚本,使用 read 和 argv 读取你刚才新建的文件。
txt="lx0016jft.txt"
test=open(txt,"w")
test.truncate()
jftline1=input(">>>>>line1:")
jftline2=input(">>>>>line2:")
jftline3=input(">>>>>line3:")
jftline4=input(">>>>>line4:")
test.write(jftline1)
test.write(" ")
test.write(jftline2)
test.write(" ")
test.write(jftline3)
test.write(" ")
test.write(jftline4)
test.write(" ")
test.close()
test=open("lx0016jft.txt")
print(test.read())
这里在打印的时,必须得重新打开一次文档,网络查到的解释是,传送的数据还在内存中,并没有写入进文档,只有重新打开后,读取打印才能看到写入修改后的内容。
③文件中重复的地方太多了。试着用一个 target.write() 将 line1, line2, line3 打印出来,你可以使用字符串、格式化字符、以及转义字符。
[python]view plain
test.write(jftline1+" "+jftline2+" "+jftline3+" "+jftline4+" ")
④找出为什么我们需要给 open 多赋予一个 'w' 参数。提示: open 对于文件的写入操作态度是安全第一,所以你只有特别指定以后,它才会进行写入操作。
如果你用 'w' 模式打开文件,那么你是不是还要 target.truncate() 呢?阅读以下 Python 的 open 函数的文档找找答案。
target.truncate() 是清空的意思,与“w”模式并不冲突,也并非后置条件。
常见问题回答
如果用了 'w' 参数, truncate() 是必须的吗?
看看加分习题 5。
'w' 是什么意思?
它只是一个特殊字符串,用来表示文件的访问模式。如果你用了 'w' 那么你的文件就是写入(write)模式。除了 'w' 以外,我们还有 'r' 表示读取(read), 'a' 表示追加(append)。
还有哪些修饰符可以用来控制文件访问?
最重要的是 + 修饰符,写法就是 'w+', 'r+', 'a+' ——这样的话文件将以同时读写的方式打开,而对于文件位置的使用也有些不同。
如果只写 open(filename) 那就使用 'r' 模式打开的吗?
是的,这是 open() 函数的默认工作方式。
⑵ python读取excel文件如何进行
python编程语言拥有着比较强大的excel读写能力,我们只需要安装xlrd,xlwt这两个库就可以了。那么python读取excel文件如何进行,今天就为大家分享下python读取excel文件的具体操作方法,快来了解下吧!
⑶ python读取txt文件
“'gbk' codec can't decode 。。。。。”是python 的编码问题。最好你把那个txt的文件先转换为utf8的格式,再进行读取,而且读取文件的那个py文件,文件的第一行加上 # -*- coding:utf-8 -*-
⑷ 如何用python读取和写入TIFF文件1
用Python读取TIFF文件,可采用以下代码
framedim = [2048,2048]
nb_elem = framedim[0]*framedim[1]
offset = 4096
formatdata = np.uint16
f = open(path, 'rb')
f.seek(offset)#TODO: only header size for tiff !!
d = np.fromfile(f, dtype=formatdata, count=nb_elem).reshape(framedim)
写入TIFF文件,则需要pylibtiff库
例如
from libtiff import TIFF
tif = TIFF.open(path, 'w')
tif.write_image(image)
image为二维ndarray
⑸ 基于python的scrapy爬虫,关于增量爬取是怎么处理的
一、增量爬取的思路:即保存上一次状态,本次抓取时与上次比对,如果不在上次的状态中,便视为增量,保存下来。对于scrapy来说,上一次的状态是抓取的特征数据和上次爬取的 request队列(url列表),request队列可以通过request队列可以通过scrapy.core.scheler的pending_requests成员得到,在爬虫启动时导入上次爬取的特征数据,并且用上次request队列的数据作为start url进行爬取,不在上一次状态中的数据便保存。
二、选用BloomFilter原因:对爬虫爬取数据的保存有多种形式,可以是数据库,可以是磁盘文件等,不管是数据库,还是磁盘文件,进行扫描和存储都有很大的时间和空间上的开销,为了从时间和空间上提升性能,故选用BloomFilter作为上一次爬取数据的保存。保存的特征数据可以是数据的某几项,即监控这几项数据,一旦这几项数据有变化,便视为增量持久化下来,根据增量的规则可以对保存的状态数据进行约束。比如:可以选网页更新的时间,索引次数或是网页的实际内容,cookie的更新等
⑹ python IO读取文件方法求助
如果你不read就直接for i in file的话,那么i就是文件指针,并不是file里的数据,readlines是每行的数据,返回一个列表,read()是读取所有数据,返回一个字符串,方法不同,你对应的代码也要改;你用readlines不能返回所有数据,应该是writefile = open('写入文件', 'w')有问题,读每一行的时候都会写入文件,但是把上一个写入的数据给覆盖掉了,用writefile = open('写入文件', 'w+'),在原数据后面追加写入。
⑺ python读取xml文件有哪些方法
1、以下几种方法建议初学者使用:
xml.etree.ElementTree
xml.dom
xml.dom.minidom
xml.dom.pulldom
xml.parsers.expat
其中,第一个模块更加轻便简介,对于简单的xml文档,推荐使用
下面的方法涉及知识比较多,熟练掌握上面方法后可以了解使用:
2、Dom读取
3、Dom4j读取
使用dom4j需要导入相关的jar包
import java.io.File;
import java.util.Iterator;
import java.util.List;
4、JDom读取
使用jdom需要导入相关的jar包
import java.io.FileInputStream;
import java.io.InputStream;
5、Sax读取
6、properties的读取
⑻ 如何用python读取excel文件
1.首先说明我是使用的python3.5,我的office版本是2010,首先打开dos命令窗,安装必须的两个库,命令是:
pip3 install xlrd
Pip3 install xlwt
2.准备好excel,例如我的一个工作文件,我放在D盘/网络经验/11.xlsx,只有一个页签A,内容是一些销售数据
3.打开pycharm,新建一个excel.py的文件,首先导入支持库
import xlrdimport xlwt
4.针对刚入门的新手,先介绍三个知识,第一个:获取excel的sheet名称,第二:获取excel行数与列数,第三:获取第几行第几列的具体值,这是最常用的三个知识点
5.贴出代码,具体分析:
(1)要操作excel,首先得打开excel,使用open_workbook(‘路径’)
(2)要获取行与列,使用nrows(行),ncols(列)
(3)获取具体的值,使用cell(row,col).value
workbook=xlrd.open_workbook(r'E:11.xlsx')print (workbook.sheet_names()) sheet2=workbook.sheet_by_name('A') nrows=sheet2.nrows ncols=sheet2.ncols print(nrows,ncols) cell_A=sheet2.cell(1,1).value print(cell_A)
6.要在excel里写入值,就要使用write属性,重点说明写入是用到xlwt这个支援库,思路是先新建excel,然后新建页签B,然后将一组数据写入到B,最后保存为excel.xls,这里建议保存为2003的格式,大部分电脑都能打开,特别注意保存的excel的路径是在python工作文件的目录下面,贴出代码:
stus = [['年', '月'], ['2018', '10'], ['2017', '9'], ['2016', '8']]Excel = xlwt.Workbook() # 新建excelsheet = Excel.add_sheet('B') #新建页签Brow = 0for stu in stus: col = 0 for s in stu: sheet.write(row, col, s) #开始写入 col = col + 1 row = row + 1Excel.save('Excel.xls') #保存
关于如何用python读取excel文件,环球青藤小编就和大家分享到这里了,学习是永无止境的,学习一项技能更是受益终身,所以,只要肯努力学,什么时候开始都不晚。如果您还想继续了解关于python编程的学习方法及素材等内容,可以点击本站其他文章学习。
⑼ python中怎么读取csv文件
Python读取CSV文件方法如下:
如下是一个CVS文件
使用Python打开CSV可以直接使用open函数打开,然后使用reader函数读取内容,实现代码如下:
运行结果如下:
更多Python相关技术文章,请访问Python教程栏目进行学习!以上就是小编分享的关于python中怎么读取csv文件的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
⑽ python如何增量读取hive数据,每次执行脚本把上次的结果做基准,打印出新增的部分
1.读取文本文件数据(.txt结尾的文件)或日志文件(.log结尾的文件)list0与list1分别为文档中的第一列数据与第二列数据。