首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python入门教程:掌握for循环、while循环、字符串操作文件读写与异常处理等基础知识

字符串操作 Python 中,字符串是一种不可变对象,即不能修改其内容。但是我们可以通过字符串函数来操作字符串,例如访问字符串中字符、拼接字符串等。...文件读写 Python 中,可以使用内置 open() 函数来读取和写入文件。...最后,我们关闭了该文件。 如果要写入文件,需要将 mode 参数设置为 ‘w’ 或 ‘a’。‘w’ 表示写入模式,会覆盖原有的内容;‘a’ 表示追加模式,会在文件末尾添加新内容。...下面是一个使用 open() 函数写入文件例子: # 打开文件 f = open("example.txt", "a") # 写入文件内容 f.write("\n 李白醉酒诗百篇") # 关闭文件...无论是否发生异常,程序都要执行 finally 块中代码,以确保文件关闭。 函数 Python 中,可以使用 def 语句来定义函数。

27810

你所不知道linux匿名管道知识

,则read返回0 4.如果所有管道读端对应文件描述符被关闭,则write操作会产生信号SIGPIPE 5.当要写入数据量不大于PIPE_BUF,linux将保证写入原子性。...在上面我们可以看到, 如果我们收到SIGPIPE信号, 那么一般情况就是读端被关闭, 但是写端却依旧尝试写入 咱们来重现下 SIGPIPE 这次执行命令需要考验手速了, 因为我们要赶在py醒过来之前,...将读端进程杀掉 输出结果 从上图我们可以验证两个点: 当我们杀掉读端, 写端会收到SIGPIPE而默认退出, 管道结束 当我们杀掉读端, 写端程序并不会马上收到SIGPIPE, 相反..., 只有真正写入管道写端才会触发这个错误 如果写入一个 读端已经关闭管道, 将会收到一个 SIGPIPE, 那读一个写端已经关闭管道又会这样呢?..., 以及管道读写规则有了初步认识, 希望我们以后工作, 再接触管道, 能够更加有把握去利用这一强大工具。

78920
您找到你想要的搜索结果了吗?
是的
没有找到

聊聊 Linux 匿名管道

这就要涉及到文件IO缓冲方式了,关于文件IO, 可以参考我另一篇文章: 浅谈文件描述符1和2, 最下面的地方提到文件IO三种缓冲方式: 全缓冲: 直到缓冲区被填满,才调用系统I/O函数, (一般是针对文件..., 那咱们来看下 管道读写规则吧: 当没有数据可读 O_NONBLOCK (未设置):read调用阻塞,即进程暂停执行一直等到有数据来到为止。...,则read返回0 如果所有管道读端对应文件描述符被关闭,则write操作会产生信号SIGPIPE 当要写入数据量不大于PIPE_BUF,linux将保证写入原子性。..., 写端程序并不会马上收到SIGPIPE, 相反, 只有真正写入管道写端才会触发这个错误 如果写入一个 读端已经关闭管道, 将会收到一个 SIGPIPE, 那读一个写端已经关闭管道又会这样呢?...总结 通过上面的理论和实验, 我们知道使用管道, 两边命令数据传输过程, 以及管道读写规则有了初步认识, 希望我们以后工作, 再接触管道, 能够更加有把握去利用这一强大工具。

2.6K20

Linux: linux 匿名管道

这就要涉及到文件IO缓冲方式了,关于文件IO, 可以参考我另一篇文章: 浅谈文件描述符1和2, 最下面的地方提到文件IO三种缓冲方式: 全缓冲: 直到缓冲区被填满,才调用系统I/O函数, (一般是针对文件..., 那咱们来看下 管道读写规则吧: 当没有数据可读 O_NONBLOCK (未设置):read调用阻塞,即进程暂停执行一直等到有数据来到为止。...,则read返回0 如果所有管道读端对应文件描述符被关闭,则write操作会产生信号SIGPIPE 当要写入数据量不大于PIPE_BUF,linux将保证写入原子性。...而默认退出, 管道结束 当我们杀掉读端, 写端程序并不会马上收到SIGPIPE, 相反, 只有真正写入管道写端才会触发这个错误 如果写入一个 读端已经关闭管道, 将会收到一个 SIGPIPE,...: 如果所有管道写端对应文件描述符被关闭,将产生EOF结束标志,read返回0, 程序退出 总结 通过上面的理论和实验, 我们知道使用管道, 两边命令数据传输过程, 以及管道读写规则有了初步认识

34K41

Python3.6学习笔记(四)

调用堆栈 如果错误没有被捕获,它就会一直往上抛,最后被Python解释器捕获,打印一个错误信息,然后程序退出。出错并不可怕,可怕是不知道哪里出错了。解读错误信息是定位错误关键。...记录错误 C语言中,如果发生错误想要记录,必须自己编写错误记录程序。Python内置logging模块可以非常容易地记录错误信息。...启动Python解释器可以用-O参数来关闭assert。 logging 使用 logging 不仅可以抛出错误,还可以输出到文件。...当我们写文件操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲时候再慢慢写入。只有调用close()方法操作系统才保证把没有写入数据全部写入磁盘。...Windows上,如果一个线程执行代码出了问题,你经常可以看到这样提示:“该程序执行了非法操作,即将关闭”,其实往往是某个线程出了问题,但是操作系统会强制结束整个进程。 计算密集型 vs.

74140

你所不知道linux匿名管道知识

,则read返回0 4.如果所有管道读端对应文件描述符被关闭,则write操作会产生信号SIGPIPE 5.当要写入数据量不大于PIPE_BUF,linux将保证写入原子性。...在上面我们可以看到, 如果我们收到SIGPIPE信号, 那么一般情况就是读端被关闭, 但是写端却依旧尝试写入 咱们来重现下 SIGPIPE 这次执行命令需要考验手速了, 因为我们要赶在py醒过来之前,...将读端进程杀掉 输出结果 从上图我们可以验证两个点: 当我们杀掉读端, 写端会收到SIGPIPE而默认退出, 管道结束 当我们杀掉读端, 写端程序并不会马上收到SIGPIPE, 相反,...只有真正写入管道写端才会触发这个错误 如果写入一个 读端已经关闭管道, 将会收到一个 SIGPIPE, 那读一个写端已经关闭管道又会这样呢?..., 以及管道读写规则有了初步认识, 希望我们以后工作, 再接触管道, 能够更加有把握去利用这一强大工具。

1.3K50

Python教程(19)——python异常处理

异常可以程序中任何地方发生,可能是由错误输入、无效操作、资源不足、硬件问题或其他未预料情况引起。例如,当尝试除以零、访问不存在文件、连接失败等情况发生,都会引发异常。...Python等高级编程语言中,异常处理机制提供了一种结构化方式来捕获和处理异常。通过程序中使用try-except语句块,可以捕获并处理异常,让程序能够优雅地处理错误情况。...不管有没有异常发生,finally语句块中代码都会执行。finally语句块通常用于资源释放和清理操作,例如关闭文件、释放网络连接等。...名称错误,通常是代码中使用了一个未定义变量或函数名 TypeError 类型错误,通常是进行不兼容类型操作引发 ValueError 值错误,通常是逻辑上不合理或无效值被传递引发...FileNotFoundError 文件未找到错误,通常是尝试打开或读取不存在文件引发 IOError 输入输出错误,通常是进行文件操作发生错误 ZeroDivisionError 除零错误

15910

Python学习笔记(八)——错误、调试、测试

调用堆栈 如果错误没有被捕获,它就会一直往上抛,最后被Python解释器捕获,打印一个错误信息,然后程序退出。...抛出错误 只有必要时候才定义我们自己错误类型。如果可以选择Python已有的内置错误类型(比如ValueError,TypeError),尽量使用Python内置错误类型。...好比一个员工处理不了一个问题,就把问题抛给他老板,如果他老板也处理不了,就一直往上抛,最终会抛给CEO去处理。...不过,启动Python解释器可以用-O参数来关闭assert $ python3 -O err.py Traceback (most recent call last): ......设想你测试需要启动一个数据库,这时,就可以setUp()方法中连接数据库,tearDown()方法中关闭数据库,这样,不必每个测试方法中重复相同代码: class TestDict(unittest.TestCase

76120

一文教你读懂 Python异常信息

(Pycharm 中通过点击文件链接可以定位到具体位置) 在这个例子中,因为我们代码没有使用任何其他 Python 模块,所以我们在这里看到,它表示所处位置是执行文件。...这是因为 SyntaxError 是 Python 尝试解析代码引发,实际上代码并没有执行。...TypeError 当你代码试图一个无法执行操作对象执行某些操作,例如将字符串添加到整数中,以及一开始例子使用 append 方法给元组添加元素,这些都会引发 TypeError。...最后一个示例尝试 int 上调用 len ()。 错误消息行告诉我们不能使用 int 执行操作ValueError 当对象值不正确就会引发 ValueError。...URL 脚本,不仅会打印错误,同时还会在日志文件中记录这些错误信息

2.4K10

文件介绍

数据文件 我们要对一个文件执行操作时候,一般步骤就是:1.打开文件 2.执行操作 3.关闭文件 在这个过程中我们实际上操作对象是数据文件。...操作前使用fseek函数移动文件指针,可以实现随机写入数据功能。...**全缓冲**:当使用标准I/O库函数(如`fread`、`fwrite`、`fscanf`、`fprintf`等)读取或写入文件,默认情况下是全缓冲。...这意味着数据会先被读取到内存缓冲区中,当缓冲区满了或者遇到换行符才会将数据写入文件。全缓冲可以减少I/O操作次数,提高效率。 2....**行缓冲**:当使用标准I/O库函数操作终端设备(比如键盘输入和屏幕输出),默认是行缓冲。这意味着数据会先被读取到内存缓冲区中,直到遇到换行符或缓冲区满了才会将数据写入终端设备。

8010

Python学习入门基础 — 第八章 文件读写操作、模块和包、异常

文件基本操作 2.1 操作文件套路 计算机 中要操作文件套路非常固定,一共包含三个步骤: 打开文件 读、写文件 读 将文件内容读入内存 写 将内存内容写入文件 关闭文件 2.2 操作文件函数...关闭 file.close() 提示 开发中,通常会先编写 打开 和 关闭 代码,再编写中间针对文件 读/写 操作!...文件/目录常用管理操作 终端 / 文件浏览器、 中可以执行常规 文件 / 目录 管理操作,例如: 创建、重命名、删除、改变路径、查看目录内容、…… Python 中,如果希望通过程序实现上述功能...就是一个 模块 导入文件文件中 所有没有任何缩进代码 都会被执行一遍!...捕获异常 2.1 简单捕获异常语法 程序开发中,如果 某些代码执行不能确定是否正确,可以增加 try(尝试) 来 捕获异常 捕获异常最简单语法格式: try: 尝试执行代码 except

1.3K30

打通Python学习任督二脉

7读写文件 8 读 将文件内容读入内存 read 方法 9 写 将内存内容写入文件 write 方法 10关闭文件 close 方法 11 12""" 13#read...文件所有内容 19close 负责关闭文件 20 如果忘记 关闭文件就会造成 系统资源消耗 并且会影响到后续对文件访问 21 注意:方法执行后 会把文件指针 移动到 文件末尾...""" 31文件指针标记从哪个位置开始读取数据 32第一次打开文件 通常文件指针会指向文件开始位置 33当执行了 read 方法以后 文件指针 会移动到读取内容末尾 34 35"""...如果该文件已存在 文件指针会放在文件结尾 如果文件不存在 会创建新文件进行写入 46 47频繁移动文件 会影响文件读写效率 开发中更多时候会以只读只写 方式来操作文件 48"""...9try: 10 尝试执行代码 不能确定是否能够正常执行代码 11except: 12 出现错误代码 下方编尝试失败代码 13 14""" 15 16try:

65240

Python从0到100(八):Python元组介绍及运用

当我们把多个用逗号分隔值赋给一个变量,多个值会打包成一个元组类型;当我们把一个元组赋值给多个变量,元组会解包成多个值然后分别赋给对应变量,如下面的代码所示。...k) # 1 10 100 解包,如果解包出来元素个数和变量个数不对应,会引发ValueError异常,错误信息为:too many values to unpack(解包值太多)或...大家可以尝试运行下面的代码,看看会出现怎样结果。...交换两个变量值是编程语言中一个经典案例,很多编程语言中,交换两个变量值都需要借助一个中间变量才能做到,如果不用中间变量就需要使用比较晦涩位运算来实现。...但是如果有多于三个变量值要依次互换,这个时候没有直接可用字节码指令,执行原理就是我们上面讲解打包和解包操作

10910

python简明笔记

写入文件任何数据将自动添加到末尾 文件关闭 close()方法完成文件关闭 始终确保你显式关闭每个打开文件,一旦它工作完成你没有任何理由保持打开文件。...I love Python I love shiyanlou >>> fobj.close() 文件写入 让我们通过 write() 方法打开一个文件然后我们随便写入一些文本。...,我们应该尝试使用 with 语句处理文件对象,它会在文件用完后会自动关闭,就算发生异常也没关系。...I love Python I love shiyanlou 文件操作示例 拷贝文件 #!...__call__ 一个对象实例可以有自己属性和方法,当我们调用实例方法,我们用instance.method()来调用。能不能直接在实例本身上调用呢?Python中,答案是肯定

2.2K90

python︱函数、for、if、_name_、迭代器、防范报错、类定义、装饰器、argparse模块、yield

同时main()意义是:python 如何判断应该哪个是主执行文件呢?应用场景是互相调用python内函数时候。 来源:Python 初探 . ....之后,python执行下面do something语句块。最后不论该语句块出现了什么异常,都会在离开执行__exit__。...() print("执行function之后还可以进行额外操作") result *= 2 # function返回值本身进行额外操作...() print("执行function之后还可以进行额外操作") result *= 2 # function返回值本身进行额外操作...yield.close 生成器 close 方法也比较简单,就是手动关闭这个生成器,关闭生成器无法再进行操作

78810

Java开发者Python快速进修指南:异常捕获

Python异常捕获与Java异常捕获原理是相同,只是写法上有一些区别。它们目的都是为了处理程序执行过程中出现错误机制。...举例来说,当我尝试将一个非整数字符串转换为整数,会触发ValueError异常。...: print("无效输入,请输入一个整数")其他常见异常:TypeError:类型错误,当一个操作或函数应用于不适当类型对象抛出。...IndexError:索引错误,当尝试访问一个不存在索引抛出。KeyError:键错误,当尝试访问字典中不存在抛出。...FileNotFoundError:文件未找到错误,当试图打开一个不存在文件抛出。ZeroDivisionError:零除错误,当尝试除以零抛出。

16120
领券