zoukankan      html  css  js  c++  java
  • 自己的第一个网站

    一、文件读写的读书笔记。

    1.Python对文本文件和二进制文件采用统一的操作步骤,即“打开-操作-关闭”。

    2.Python打开文件的函数:open()函数格式如下: <变量名> = open(<文件名>, <打开模式>)

     3.Python提供4个常用的文件内容读取方法。

     4.文件的遍历代码:

    1 fname = input("请输入要打开的文件: ")
    2 fo = open(fname, "r")
    3 for line in fo:
    4     print(line)
    5 fo.close()

    5.文件的打印代码:

    1 fname = input("请输入要打开的文件: ")
    2 fo = open(fname, "r")
    3 for line in fo.readlines():
    4     print(line)
    5 fo.close()

    6.Python提供3个与文件内容写入。

    二、Excel文件转为CSV格式文件。

    1. Excel文件转换为CSV文件,并以CSV文件形式改变部分数据并输出结果。

     1 import pandas as pd
     2 def xlsx_to_csv_pd():
     3     data_xls = pd.read_excel('F:Python成绩登记信计.xlsx', index_col=0)
     4     data_xls.to_csv('F:Python成绩登记信计.csv', encoding='utf-8')
     5 if __name__ == '__main__':
     6     xlsx_to_csv_pd()
     7 fo=open("F:Python成绩登记信计.csv",'r',encoding='utf-8')
     8 ls=[]
     9 for line in fo:
    10     line = line.replace('
    ','').replace('优秀','90').replace('良好','80').replace('不合格','0')
    11     line = line.replace('合格','60')
    12     ls = line.split(',')
    13     lns=''
    14     for s in ls:
    15         lns+="{}	".format(s)
    16     print(lns)

     

    2.打开Excel文件改变部分数据并转换为CSV文件。

    import pandas as pd
    def ExcelTurnCsv(Startfile, SheetName, Endfile):
        '''
        函数功能: 将excel格式文件转换为csv格式文件,使用iat方法
        Startfile: excel表格的文件路径
        SheetNmae: excel表格中的表格名称
        Endfile:   csv文件的保存路径
        '''
        grade = pd.read_excel(Startfile, sheet_name=SheetName)
        for i in range(len(grade.index)):
            for j in range(1, len(grade.columns)):
                if grade.iloc[i, j] == '优秀':
                    grade.iat[i, j] = 90
                elif grade.iloc[i, j] == '良好':
                    grade.iat[i, j] = 80
                elif grade.iloc[i, j] == '合格':
                    grade.iat[i, j] = 60
                else:
                    grade.iat[i, j] = 0
        grade.to_csv(Endfile)
    ExcelTurnCsv("F:\Python成绩登记信计.xlsx", "Sheet1", "F:\Python成绩登记信计.csv")

    三、CSV文件转为HTML文件。

    import pandas as pd
    df = pd.read_csv('F:Python成绩登记信计.csv')
    print(df.to_html())
    df.to_html('F:Python成绩登记信计.html')

    <table border="1" class="dataframe">
      <thead>
        <tr style="text-align: right;">
          <th></th>
          <th>Unnamed: 0</th>
          <th>Unnamed: 0.1</th>
          <th></th>
          <th></th>
          <th></th>
          <th></th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <th>0</th>
          <td>0</td>
          <td>序号</td>
          <td>0</td>
          <td>0</td>
          <td>0</td>
          <td>0</td>
        </tr>
        <tr>
          <th>1</th>
          <td>1</td>
          <td>1</td>
          <td>0</td>
          <td>90</td>
          <td>80</td>
          <td>80</td>
        </tr>
        <tr>
          <th>2</th>
          <td>2</td>
          <td>2</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
        </tr>
        <tr>
          <th>3</th>
          <td>3</td>
          <td>3</td>
          <td>60</td>
          <td>90</td>
          <td>80</td>
          <td>80</td>
        </tr>
        <tr>
          <th>4</th>
          <td>4</td>
          <td>4</td>
          <td>0</td>
          <td>90</td>
          <td>90</td>
          <td>80</td>
        </tr>
        <tr>
          <th>5</th>
          <td>5</td>
          <td>5</td>
          <td>90</td>
          <td>90</td>
          <td>80</td>
          <td>90</td>
        </tr>
        <tr>
          <th>6</th>
          <td>6</td>
          <td>6</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
          <td>80</td>
        </tr>
        <tr>
          <th>7</th>
          <td>7</td>
          <td>7</td>
          <td>90</td>
          <td>90</td>
          <td>80</td>
          <td>90</td>
        </tr>
        <tr>
          <th>8</th>
          <td>8</td>
          <td>8</td>
          <td>90</td>
          <td>90</td>
          <td>80</td>
          <td>80</td>
        </tr>
        <tr>
          <th>9</th>
          <td>9</td>
          <td>9</td>
          <td>90</td>
          <td>90</td>
          <td>80</td>
          <td>90</td>
        </tr>
        <tr>
          <th>10</th>
          <td>10</td>
          <td>10</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
        </tr>
        <tr>
          <th>11</th>
          <td>11</td>
          <td>11</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
        </tr>
        <tr>
          <th>12</th>
          <td>12</td>
          <td>12</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
        </tr>
        <tr>
          <th>13</th>
          <td>13</td>
          <td>13</td>
          <td>80</td>
          <td>60</td>
          <td>90</td>
          <td>90</td>
        </tr>
        <tr>
          <th>14</th>
          <td>14</td>
          <td>14</td>
          <td>60</td>
          <td>90</td>
          <td>80</td>
          <td>80</td>
        </tr>
        <tr>
          <th>15</th>
          <td>15</td>
          <td>15</td>
          <td>80</td>
          <td>90</td>
          <td>80</td>
          <td>80</td>
        </tr>
        <tr>
          <th>16</th>
          <td>16</td>
          <td>16</td>
          <td>0</td>
          <td>0</td>
          <td>0</td>
          <td>0</td>
        </tr>
        <tr>
          <th>17</th>
          <td>17</td>
          <td>17</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
        </tr>
        <tr>
          <th>18</th>
          <td>18</td>
          <td>18</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
        </tr>
        <tr>
          <th>19</th>
          <td>19</td>
          <td>19</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
        </tr>
        <tr>
          <th>20</th>
          <td>20</td>
          <td>20</td>
          <td>90</td>
          <td>60</td>
          <td>90</td>
          <td>80</td>
        </tr>
        <tr>
          <th>21</th>
          <td>21</td>
          <td>21</td>
          <td>60</td>
          <td>60</td>
          <td>90</td>
          <td>80</td>
        </tr>
        <tr>
          <th>22</th>
          <td>22</td>
          <td>22</td>
          <td>60</td>
          <td>90</td>
          <td>90</td>
          <td>80</td>
        </tr>
        <tr>
          <th>23</th>
          <td>23</td>
          <td>23</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
          <td>60</td>
        </tr>
        <tr>
          <th>24</th>
          <td>24</td>
          <td>24</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
          <td>0</td>
        </tr>
        <tr>
          <th>25</th>
          <td>25</td>
          <td>25</td>
          <td>80</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
        </tr>
        <tr>
          <th>26</th>
          <td>26</td>
          <td>26</td>
          <td>80</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
        </tr>
        <tr>
          <th>27</th>
          <td>27</td>
          <td>27</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
        </tr>
        <tr>
          <th>28</th>
          <td>28</td>
          <td>28</td>
          <td>90</td>
          <td>0</td>
          <td>90</td>
          <td>80</td>
        </tr>
        <tr>
          <th>29</th>
          <td>29</td>
          <td>29</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
        </tr>
        <tr>
          <th>30</th>
          <td>30</td>
          <td>30</td>
          <td>90</td>
          <td>80</td>
          <td>90</td>
          <td>90</td>
        </tr>
        <tr>
          <th>31</th>
          <td>31</td>
          <td>31</td>
          <td>80</td>
          <td>90</td>
          <td>90</td>
          <td>80</td>
        </tr>
        <tr>
          <th>32</th>
          <td>32</td>
          <td>32</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
          <td>80</td>
        </tr>
        <tr>
          <th>33</th>
          <td>33</td>
          <td>33</td>
          <td>90</td>
          <td>60</td>
          <td>90</td>
          <td>0</td>
        </tr>
        <tr>
          <th>34</th>
          <td>34</td>
          <td>34</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
          <td>80</td>
        </tr>
        <tr>
          <th>35</th>
          <td>35</td>
          <td>35</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
          <td>80</td>
        </tr>
        <tr>
          <th>36</th>
          <td>36</td>
          <td>36</td>
          <td>80</td>
          <td>90</td>
          <td>90</td>
          <td>90</td>
        </tr>
        <tr>
          <th>37</th>
          <td>37</td>
          <td>37</td>
          <td>60</td>
          <td>80</td>
          <td>80</td>
          <td>80</td>
        </tr>
        <tr>
          <th>38</th>
          <td>38</td>
          <td>38</td>
          <td>80</td>
          <td>90</td>
          <td>90</td>
          <td>80</td>
        </tr>
        <tr>
          <th>39</th>
          <td>39</td>
          <td>39</td>
          <td>0</td>
          <td>0</td>
          <td>0</td>
          <td>0</td>
        </tr>
        <tr>
          <th>40</th>
          <td>40</td>
          <td>40</td>
          <td>0</td>
          <td>0</td>
          <td>0</td>
          <td>0</td>
        </tr>
      </tbody>
    </table>

    四、用Python CGI转为网页显示。

    1.Web 服务器支持及配置

    在你进行 CGI 编程前,确保您的 Web 服务器支持 CGI 及已经配置了 CGI 的处理程序。

    Apache 支持 CGI 配置:

    设置好CGI目录:

    ScriptAlias /cgi-bin/ /var/www/cgi-bin/

    所有的HTTP服务器执行 CGI 程序都保存在一个预先配置的目录。这个目录被称为 CGI 目录,并按照惯例,它被命名为 /var/www/cgi-bin 目录。

    CGI 文件的扩展名为 .cgi,python 也可以使用 .py 扩展名。

    默认情况下,Linux 服务器配置运行的 cgi-bin 目录中为 /var/www。

    如果你想指定其他运行 CGI 脚本的目录,可以修改 httpd.conf 配置文件,如下所示:

    <Directory "/var/www/cgi-bin">
       AllowOverride None
       Options +ExecCGI
       Order allow,deny
       Allow from all
    </Directory> 

    在 AddHandler 中添加 .py 后缀,这样我们就可以访问 .py 结尾的 python 脚本文件:

    AddHandler cgi-script .cgi .pl .py
     
    2.web服务器搭建
           (1)首先,在你的电脑里找一个目录,新建一个文件夹,叫做“www”,在“www”文件夹下面新建一个目录,叫做“cgi-bin”,我直接建立在了d盘的根目录下
           (2)然后win+cmd打开命令行
     
     
    def fill_data(excel, length=4):
        text = '<tr>'
        for i in range(length):
            tmp = '<td align="center">{}</td>'.format(excel[i+1])
            text += tmp
        text += "</tr>
    "
        return text
    
    def GetCsv(csvFile):
        ls = []
        csv = open(csvFile, 'r',encoding="utf-8")
        for line in csv:
            line = line.replace('
    ', '')
            ls.append(line.split(','))
        return ls
    
    def CsvToHtml(csvFile, thNum):
        csv_list = GetCsv(csvFile)          # 获得csv文件数据
        print("Content-type:text/html
    
    ")
        print('''
    <!DOCTYPE HTML>
    <html>
    <body>
    <meta charset=gbk2313>
    <h1 align=center>Python成绩登记信计</h2>
    <table border='blue'>
    ''')             # 写html文件首部
        for i in range(1, thNum+1):         # 写表格的表头(即第1行)
            print('<th width="20%">{}</th>'.format(csv_list[0][i]))
        print("</tr>
    ")
        for i in range(1, len(csv_list)):   # 
            print(fill_data(csv_list[i], 5))
        print("</table>
    </body>
    </html>") # 写html文件尾部
    
    CsvToHtml("F://Python成绩登记信计.csv", 5)
     
  • 相关阅读:
    很实用的linux 上的svn安装和svnserver 的重启
    将单链表逆置*
    25 链队列
    24 顺序队列(循环队列)
    23 顺序队列
    界面常见的交互反馈
    事件
    22 链栈
    渲染“Hello World”(将脚本数据渲染在界面上)
    引用(import 和 include)
  • 原文地址:https://www.cnblogs.com/LSH1628340121/p/12933316.html
Copyright © 2011-2022 走看看