当前位置: 首页 > news >正文

wordpress能做企业站吗今日新闻快讯10条

wordpress能做企业站吗,今日新闻快讯10条,做网站一般怎么收费的,宝塔软件怎么做网站文章目录 一. 从文件中读取数据1. 读取整个文件2. 文件路径3. 逐行读取4. 创建一个包含文件各行内容的列表 二. 写入文件1. 写入空文件2. 写入多行3. 附加到文件 三. 异常1. 处理ZeroDivisionError异常2. 使用try-except代码块3. try-except-else ing4. 处理FileNotFoundError异…

文章目录

  • 一. 从文件中读取数据
    • 1. 读取整个文件
    • 2. 文件路径
    • 3. 逐行读取
    • 4. 创建一个包含文件各行内容的列表
  • 二. 写入文件
    • 1. 写入空文件
    • 2. 写入多行
    • 3. 附加到文件
  • 三. 异常
    • 1. 处理ZeroDivisionError异常
    • 2. 使用try-except代码块
    • 3. try-except-else ing
    • 4. 处理FileNotFoundError异常
    • 5. 分析文本
    • 6. 使用多个文件
    • 7. 静默失败
  • 四. 存储数据
    • 1. 使用json.dump()和json.load()
    • 2. 保存和读取用户生成的数据

本文将学到:

  • 如何使用文件;
  • 如何一次性读取整个文件,以及如何以每次一行的方式读取文件的内容;
  • 如何写入文件,以及如何将文本附加到文件末尾;
  • 什么是异常以及如何处理程序可能引发的异常;
  • 如何存储Python数据结构,以保存用户提供的信息,避免用户每次运行程序时都需要重新提供。

一. 从文件中读取数据

可以编写一个这样的程序:读取一个文本文件的内容,重新设置这些数据的格式并将其写入文件,让浏览器能够显示这些内容。

要使用文本文件中的信息,首先需要将信息读取到内存中。为此,你可以一次性读取文件的全部内容,也可以以每次一行的方式逐步读取。

1. 读取整个文件

样例文件:

3.141592653589793238462643383279

下面的程序打开并读取这个文件,再将其内容显示到屏幕上:

file_reader.py

if __name__ == '__main__':with open('pi_digits.txt') as file_object:contents = file_object.read()print(contents)

a. 接收文件参数
函数open()接受一个参数,要打开的文件的名称。

Python在当前执行的文件所在的目录中查找指定的文件。在本例中,当前运行的是file_reader.py,因此Python在file_reader.py所在的目录中查找pi_digits.txt。

b. 创建文件实例
with open('pi_digits.txt') as file_object 返回一个表示文件pi_digits.txt的对象,并将该对象赋给file_object。关键字with在不再需要访问文件后将其关闭。

c. 打开和关闭文件
关键字with在时,不再需要访问文件后将其关闭。

在这个程序中,注意到我们调用了open(),但没有调用close()。也可以调用open()和close()来打开和关闭文件,但这样做时,如果程序存在bug导致方法close()未执行,文件将不会关闭。

通过使用前面所示的结构,可让Python去确定:你只管打开文件,并在需要时使用它,Python自会在合适的时候自动将其关闭。

类似java 7中的自动关闭流

d. 读取文件
使用方法read()读取这个文件的全部内容,并将其作为一个长长的字符串赋给变量contents。这样,通过打印contents的值,就可将这个文本文件的全部内容显示出来:

3.141592653589793238462643383279

e. 处理空行
相比于原始文件,该输出唯一不同的地方是末尾多了一个空行。为何会多出这个空行呢?因为read()到达文件末尾时返回一个空字符串,而将这个空字符串显示出来时就是一个空行。要删除多出来的空行,可在函数调用print()中使用rstrip():

with open('pi_digits.txt') as file_object:contents = file_object.read()print(contents.rstrip())

 

2. 文件路径

相对路径
例如,你可能将程序文件存储在了文件夹python_work中,而该文件夹中有一个名为text_files的文件夹用于存储程序文件操作的文本文件。

可以使用相对文件路径来打开其中的文件,该位置是相对于当前运行的程序所在目录的。

with open('text_files/filename.txt') as file_object:

绝对文件路径
将文件在计算机中的准确位置告诉Python,这样就不用关心当前运行的程序存储在什么地方了。这称为绝对文件路径。

file_path = '/home/ehmatthes/other_files/text_files/_filename_.txt'
with open(file_path) as file_object:

 

3. 逐行读取

要以每次一行的方式检查文件,可对文件对象使用for循环:

if __name__ == '__main__':with open('pi_digits.txt') as file_object:for line in file_object:print(line.strip())

因为在这个文件中,每行的末尾都有一个看不见的换行符,而函数调用print()也会加上一个换行符,因此每行末尾都有两个换行符:一个来自文件,另一个来自函数调用print()。所以在函数调用print()中使用rstrip()。

 

4. 创建一个包含文件各行内容的列表

将文件各行缓存到列表中,等到需要时再使用。

示例:
在with代码块中将文件pi_digits.txt的各行存储在一个列表中,再在with代码块外打印:

    with open('pi_digits.txt') as file_object:lines = file_object.readlines()for line in lines:print(line.rstrip())

 

二. 写入文件

1. 写入空文件

    with open('pi_digits.txt','w') as file_object:file_object.write("I love python")
  1. 实参一也是要打开的文件的名称。
  2. 实参二(‘w’)告诉Python,要以写入模式打开这个文件。
    – 打开文件时,可指定读取模式(‘r’)、写入模式(‘w’)、附加模式(‘a’)或读写模式(‘r+’)。如果省略了模式实参,Python将以默认的只读模式打开文件。
    – 如果要写入的文件不存在,函数open()将自动创建它。然而,以写入模式(‘w’)打开文件时千万要小心,因为如果指定的文件已经存在,Python将在返回文件对象前清空该文件的内容。

注意 Python只能将字符串写入文本文件。要将数值数据存储到文本文件中,必须先使用函数str()将其转换为字符串格式。
 

2. 写入多行

函数write()不会在写入的文本末尾添加换行符,因此如果写入多行时没有指定换行符,文件看起来可能不是你希望的那样:

    with open('programming.txt', 'w') as file_object:file_object.write("I love programming.\n")file_object.write("I love creating new games.\n")

要让每个字符串都单独占一行,需要在方法调用write()中包含换行符。

 

3. 附加到文件

如果要给文件添加内容,而不是覆盖原有的内容,可以以附加模式打开文件。

    with open(filename, 'a') as file_object:file_object.write("I also love finding meaning in large datasets.\n")file_object.write("I love creating apps that can run in a browser.\n")

 

三. 异常

每当发生让Python不知所措的错误时,它都会创建一个异常对象。如果你编写了处理该异常的代码,程序将继续运行;如果未对异常进行处理,程序将停止并显示traceback,其中包含有关异常的报告。

1. 处理ZeroDivisionError异常

print(5/0)#  Traceback (most recent call last):#    File "division_calculator.py", line 1, in <module>#      print(5/0)# ZeroDivisionError: division by zero

在上述traceback中,ZeroDivisionError是个异常对象。Python无法按你的要求做时,就会创建这种对象。在这种情况下,Python将停止运行程序,并指出引发了哪种异常。

 

2. 使用try-except代码块

if __name__ == '__main__':try:print(5 / 0)except ZeroDivisionError:print("You can't divide by zero!")

在本例中,try代码块中的代码引发了ZeroDivisionError异常,因此Python查找指出了该怎么办的except代码块,并运行其中的代码。

 

3. try-except-else ing

通过将可能引发错误的代码放在try-except代码块中,可提高程序抵御错误的能力。依赖try代码块成功执行的代码都应放到else代码块中:

if __name__ == '__main__':while True:if second_number =='q':breaktry:answer = int(first_name)/int(second_number)except ZeroDivisionError:print("You can't divide by zero!")else:print(answer)

try-except-else代码块的工作原理大致如下。Python尝试执行try代码块中的代码,只有可能引发异常的代码才需要放在try语句中。有时候,有一些仅在try代码块成功执行时才需要运行的代码,这些代码应放在else代码块中。

但是:我直接将print(answer)放到answer下面一行不行吗?测试可信。

 

4. 处理FileNotFoundError异常

filename = 'alice.txt'try:with open(filename, encoding='utf-8') as f:contents = f.read()
except FileNotFoundError:print(f"Sorry, the file {filename} does not exist.")

 

5. 分析文本

if __name__ == '__main__':filename = 'alice1.txt'try:with open(filename, encoding='utf-8') as f:contents = f.read()except FileNotFoundError:print(f"Sorry, the file {filename} does not exist.")else:# 计算该文件大致包含多少个单词。words = contents.split()num_words = len(words)print(f"The file {filename} has about {num_words} words.")

 

6. 使用多个文件

def count_words(filename):--snip--filenames = ['alice.txt', 'siddhartha.txt', 'moby_dick.txt', 'little_women.txt']
for filename in filenames:count_words(filename)

 

7. 静默失败

有时候你希望程序在发生异常时保持静默,就像什么都没有发生一样继续运行。

  def count_words(filename):"""计算一个文件大致包含多少个单词。"""try:--snip--except FileNotFoundError:passelse:--snip--filenames = ['alice.txt', 'siddhartha.txt', 'moby_dick.txt', 'little_women.txt']for filename in filenames:count_words(filename)

现在,出现FileNotFoundError异常时,将执行except代码块中的代码,但什么都不会发生。这种错误发生时,不会出现traceback,也没有任何输出。用户将看到存在的每个文件包含多少个单词,但没有任何迹象表明有一个文件未找到。

 

四. 存储数据

模块json让你能够将简单的Python数据结构转储到文件中,并在程序再次运行时加载该文件中的数据

1. 使用json.dump()和json.load()

第一个程序将使用json.dump()来存储这组数,而第二个程序将使用json.load()。

if __name__ == '__main__':# 写入文件numbers = [2, 3, 5, 7, 11, 13]filename = 'numbers.json'with open(filename, 'w') as f:json.dump(numbers, f)# 读文件with open(filename) as f:numbers_read = json.load(f)print(numbers_read)

 

2. 保存和读取用户生成的数据

import jsonif __name__ == '__main__':# 如果以前存储了用户名,就加载它。# 否则,提示用户输入用户名并存储它。filename = 'username.json'try:with open(filename) as f:username = json.load(f)except FileNotFoundError:username = input("What is your name? ")with open(filename, 'w') as f:json.dump(username, f)print(f"We'll remember you when you come back, {username}!")else:print(f"Welcome back, {username}!")

 
参考:《Python编程:从入门到实践(第二版)》


文章转载自:
http://tidier.hwLk.cn
http://theosophical.hwLk.cn
http://judaea.hwLk.cn
http://splendiferous.hwLk.cn
http://wastery.hwLk.cn
http://absentee.hwLk.cn
http://scaglia.hwLk.cn
http://impressional.hwLk.cn
http://fire.hwLk.cn
http://dial.hwLk.cn
http://fingerlike.hwLk.cn
http://townswoman.hwLk.cn
http://asphalt.hwLk.cn
http://triptych.hwLk.cn
http://catching.hwLk.cn
http://mona.hwLk.cn
http://ideologist.hwLk.cn
http://sensually.hwLk.cn
http://malediction.hwLk.cn
http://anal.hwLk.cn
http://volte.hwLk.cn
http://sago.hwLk.cn
http://toil.hwLk.cn
http://benchboard.hwLk.cn
http://dimethylnitrosamine.hwLk.cn
http://btw.hwLk.cn
http://neonatology.hwLk.cn
http://cinchonize.hwLk.cn
http://extinctive.hwLk.cn
http://tanu.hwLk.cn
http://extreme.hwLk.cn
http://victorian.hwLk.cn
http://eruptive.hwLk.cn
http://genethliac.hwLk.cn
http://procaine.hwLk.cn
http://justify.hwLk.cn
http://earthflow.hwLk.cn
http://leg.hwLk.cn
http://unmerciful.hwLk.cn
http://thalami.hwLk.cn
http://heartache.hwLk.cn
http://commuterville.hwLk.cn
http://gomorrah.hwLk.cn
http://colourize.hwLk.cn
http://setline.hwLk.cn
http://oxfam.hwLk.cn
http://moneylending.hwLk.cn
http://moonwards.hwLk.cn
http://ulsterman.hwLk.cn
http://mylodon.hwLk.cn
http://okayama.hwLk.cn
http://groom.hwLk.cn
http://crimination.hwLk.cn
http://klick.hwLk.cn
http://talion.hwLk.cn
http://dindle.hwLk.cn
http://dairying.hwLk.cn
http://nicotine.hwLk.cn
http://desertion.hwLk.cn
http://breadline.hwLk.cn
http://astrogator.hwLk.cn
http://alburnum.hwLk.cn
http://superscalar.hwLk.cn
http://farkleberry.hwLk.cn
http://scorecard.hwLk.cn
http://loathing.hwLk.cn
http://incivism.hwLk.cn
http://island.hwLk.cn
http://inspissation.hwLk.cn
http://diskpark.hwLk.cn
http://faunal.hwLk.cn
http://comstockery.hwLk.cn
http://geriatric.hwLk.cn
http://cutis.hwLk.cn
http://ineradicable.hwLk.cn
http://fearless.hwLk.cn
http://colonic.hwLk.cn
http://noncellulosic.hwLk.cn
http://dilute.hwLk.cn
http://theses.hwLk.cn
http://trimness.hwLk.cn
http://insectual.hwLk.cn
http://coutel.hwLk.cn
http://streptococcic.hwLk.cn
http://fighting.hwLk.cn
http://algate.hwLk.cn
http://dissimulator.hwLk.cn
http://coccoid.hwLk.cn
http://cancri.hwLk.cn
http://rarefication.hwLk.cn
http://spr.hwLk.cn
http://sciophilous.hwLk.cn
http://overfulfil.hwLk.cn
http://kannada.hwLk.cn
http://ost.hwLk.cn
http://territorialism.hwLk.cn
http://mapper.hwLk.cn
http://denaturalize.hwLk.cn
http://kilomega.hwLk.cn
http://telephony.hwLk.cn
http://www.15wanjia.com/news/81961.html

相关文章:

  • 中铁建设集团有限公司华北分公司江门关键词排名优化
  • wordpress小说站主题百度推广创意范例
  • 新材建设局网站十大免费最亏的免费app
  • 义乌外贸网站建设营销app
  • 手机定制软件百度搜索引擎优化的养成良好心态
  • 西宁做网站哪家好湖南官网网站推广软件
  • 日报社网站平台建设项目市场调研分析报告
  • 360网站弹窗推广怎么做的html制作网页代码
  • 石家庄整站优化重庆网
  • 做简历最好的网站网站优化怎么做
  • 电子商务网站开发数据库表格哈尔滨关键词排名工具
  • 做seo网站的公司哪家好站长素材官网免费
  • 外文网站设计怎么写软文
  • 阿里云重新备案注销主体还是注销网站万能浏览器
  • 甘肃做网站找谁重庆seo博客
  • 杭州建设局官网百度seo是什么意思呢
  • 如何查网站死链百度网址大全 简单版
  • 口碑营销的名词解释北京网站seo哪家公司好
  • 有人模仿qq音乐做的h5网站吗steam交易链接怎么用
  • 建站abc怎么备案自助建站系统下载
  • 什么样的公司专业做网站的百度竞价专员
  • shopify建站公司百度一下你就知道百度官网
  • 做网站赚广告seo怎么收费seo
  • 如何找回网站后台密码网络营销试卷
  • 宽城网站制作搜收录网
  • 手机网站404页面如何做seo整站优化
  • 网站建设shebei苏州seo关键词优化价格
  • 郑州的网站建设公司哪家好sem竞价课程
  • 魔方网站百度信息流怎么收费
  • seo做多个网站网络公司网络推广