Python——自己的第一个网页(文件的使用)
Posted ShadowLand
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python——自己的第一个网页(文件的使用)相关的知识,希望对你有一定的参考价值。
一、文件的学习。
1、概述。
文件是一个存储在辅助存储器上的数据序列,可以包含任何数据内容。概念上,文件是数据的集合和抽象。
2、类型。
文件包括两种类型:文本文件和二进制文件。
二进制文件和文本文件最主要的区别在于是否有统一的字符编码。<二进制文件直接由比特0和比特1组成,没有统一字符编码>
下面运行代码直观感受一下二者的区别:
textFile = open("D:\\\\桌面\\\\pytest\\\\test.txt","rt",encoding="utf-8") #t表示文本文件方式 print(textFile.readline()) textFile.close() binFile = open("D:\\\\桌面\\\\pytest\\\\test.txt","rb") #b表示二进制文件方式 print(binFile.readline()) binFile.close()
结果如下:
世事一场大梦,人生几度秋凉?
b\'\\xe4\\xb8\\x96\\xe4\\xba\\x8b\\xe4\\xb8\\x80\\xe5\\x9c\\xba\\xe5\\xa4\\xa7\\xe6\\xa2\\xa6\\xef\\xbc\\x8c\\xe4\\xba\\xba\\xe7\\x94\\x9f\\xe5\\x87\\xa0\\xe5\\xba\\xa6\\xe7\\xa7\\x8b\\xe5\\x87\\x89\\xef\\xbc\\x9f\'
3、方法学习。
(1)open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。
open(file, mode=\'r\')
注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。
open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。
https://www.runoob.com/python/file-methods.html
(I)7种基本的打开模式(mode):
(II)4个常用的文件(file)内容读取方法:
ps:<file>.readlines()读入的每一行内容都包括‘\\n’字符(即列表中包括‘\\n’)如
f = open("D:\\\\桌面\\\\pytest\\\\test.txt", "r",encoding="utf-8") print(f.readlines(1)) f.close()
(III)File 对象的属性。
属性 | 描述 |
---|---|
file.closed | 返回true如果文件已被关闭,否则返回false。 |
file.mode | 返回被打开文件的访问模式。 |
file.name | 返回文件的名称。 |
测试:
f = open("D:\\\\桌面\\\\pytest\\\\test.txt", "w") print ("文件名: ", f.name) print ("是否已关闭 : ", f.closed) print ("访问模式 : ", f.mode) f.close() print ("是否已关闭 : ", f.closed)
打印结果:
(2) close() 方法用于关闭一个已打开的文件。关闭后的文件不能再进行读写操作, 否则会触发 ValueError 错误。
fileObject.close()
在对文件操作完成后,将文件关闭是对文件的一种尊重,也是对电脑资源的减负。
(3) write()方法 可将任何字符串写入一个打开的文件。
fileObject.write(string)
注意:Python字符串可以是二进制数据,而不是仅仅是文字。
write()方法不会在字符串的结尾添加换行符(\'\\n\')。
4、文件定位。
在读写一行字符后,文件操作指针就处于该行的末尾,再次操作也只能对此位置后面的内容进行操作。
比如对一个文件进行追写(“w+”)操作后------此时操作指针在文件末尾------想读取追写后的整个文件,此时用.readlinds()是无效的。
<file>.seek(offset):改变当前文件操作指针的位置,offset含义如下:0 ——到文件开头;1 ——当前位置;2 ——文件结尾。
二、读入如下excel文件,并存为csv格式,并把优秀变成90分,良好80分,合格60,不合格0分。(未交的空着)
这里先介绍pandas。pandas是一个Python软件包,提供快速,灵活和富于表现力的数据结构,旨在使使用“关系”或“标记”数据既简单又直观。它是数据处理的一个重要工具。详细pandas介绍和学习
给出代码:
import pandas as pd Original = [\'优秀\',\'良好\',\'合格\',\'不合格\'] Change = [\'90分\',\'80分\',\'60分\',\'0分\'] f = pd.read_excel("D:\\\\桌面\\\\pytest\\\\Python成绩登记信计.xlsx") for index in range(len(f.index)): for i in range(4): f.iloc[index] = f.iloc[index].replace(Original[i],Change[i]) f.to_csv("D:\\\\桌面\\\\pytest\\\\Python成绩登记信计.csv",index = False,header=1)
输出结果如下:
三、把上述csv格式文件转换为html文件。
pandas提供了完成该转换的方法。
import pandas as pd fo = pd.read_csv("D:\\\\桌面\\\\pytest\\\\Python成绩登记信计.csv") fo.to_html("D:\\\\桌面\\\\pytest\\\\Python成绩登记信计.html",index = False,header=1)
截图如下:
四、运用Python CGI把上面的csv格式文件,用网页显示并截屏。
首先要‘连接’,通过该网站指引完成https://baijiahao.baidu.com/s?id=1608396131352808822&wfr=spider&for=pc
成功截图:
小编不负责任地将前面的html文件,以笔记本方式打开,获取其HTML代码。如下:
1 <table border="1" class="dataframe"> 2 <thead> 3 <tr style="text-align: right;"> 4 <th>Unnamed: 0</th> 5 <th>一</th> 6 <th>二</th> 7 <th>三</th> 8 <th>四</th> 9 </tr> 10 </thead> 11 <tbody> 12 <tr> 13 <td>序号</td> 14 </tr> 15 <tr> 16 <td>1</td> 17 <td>0分</td> 18 <td>90分</td> 19 <td>80分</td> 20 <td>80分</td> 21 </tr> 22 <tr> 23 <td>2</td> 24 <td>90分</td> 25 <td>90分</td> 26 <td>90分</td> 27 <td>90分</td> 28 </tr> 29 <tr> 30 <td>3</td> 31 <td>60分</td> 32 <td>90分</td> 33 <td>80分</td> 34 <td>80分</td> 35 </tr> 36 <tr> 37 <td>4</td> 38 <td>0分</td> 39 <td>90分</td> 40 <td>90分</td> 41 <td>80分</td> 42 </tr> 43 <tr> 44 <td>5</td> 45 <td>90分</td> 46 <td>90分</td> 47 <td>80分</td> 48 <td>90分</td> 49 </tr> 50 <tr> 51 <td>6</td> 52 <td>90分</td> 53 <td>90分</td> 54 <td>90分</td> 55 <td>80分</td> 56 </tr> 57 <tr> 58 <td>7</td> 59 <td>90分</td> 60 <td>90分</td> 61 <td>80分</td> 62 <td>90分</td> 63 </tr> 64 <tr> 65 <td>8</td> 66 <td>90分</td> 67 <td>90分</td> 68 <td>80分</td> 69 <td>80分</td> 70 </tr> 71 <tr> 72 <td>9</td> 73 <td>90分</td> 74 <td>90分</td> 75 <td>80分</td> 76 <td>90分</td> 77 </tr> 78 <tr> 79 <td>10</td> 80 <td>90分</td> 81 <td>90分</td> 82 <td>90分</td> 83 <td>90分</td> 84 </tr> 85 <tr> 86 <td>11</td> 87 <td>90分</td> 88 <td>90分</td> 89 <td>90分</td> 90 <td>90分</td> 91 </tr> 92 <tr> 93 <td>12</td> 94 <td>90分</td> 95 <td>90分</td> 96 <td>90分</td> 97 <td>90分</td> 98 </tr> 99 <tr> 100 <td>13</td> 101 <td>80分</td> 102 <td>60分</td> 103 <td>90分</td> 104 <td>90分</td> 105 </tr> 106 <tr> 107 <td>14</td> 108 <td>60分</td> 109 <td>90分</td> 110 <td>80分</td> 111 <td>80分</td> 112 </tr> 113 <tr> 114 <td>15</td> 115 <td>80分</td> 116 <td>90分</td> 117 <td>80分</td> 118 <td>80分</td> 119 </tr> 120 <tr> 121 <td>16</td> 122 <td>0分</td> 123 <td>0分</td> 124 <td>0分</td> 125 <td>0分</td> 126 </tr> 127 <tr> 128 <td>17</td> 129 <td>90分</td> 130 <td>90分</td> 131 <td>90分</td> 132 <td>90分</td> 133 </tr> 134 <tr> 135 <td>18</td> 136 <td>90分</td> 137 <td>90分</td> 138 <td>90分</td> 139 <td>90分</td> 140 </tr> 141 <tr> 142 <td>19</td> 143 <td>90分</td> 144 <td>90分</td> 145 <td>90分</td> 146 <td>90分</td> 147 </tr> 148 <tr> 149 <td>20</td> 150 <td>90分</td> 151 <td>60分</td> 152 <td>90分</td> 制作自己的第一个网页