zoukankan      html  css  js  c++  java
  • python笔记四(修改文件,全局变量,内置函数,模块,递归,json文件)

    今天继续学习Python,修改文件。

    一,往文件里面添加数据,内存里面有缓冲区,等缓冲区满了再把数据写到磁盘里面。

    1 fw = open('username','w')
    2 fw.write('ddd')
    3 fw.flush()#强制把缓冲区里面的数据写到磁盘上(只有遇到,你写完东西没有立马存到文件里面,那么就是用fw.flush()这个方法)

    二,简单粗暴直接修改文件

    分析思路:

    1,打开一个文件,获取到他的所有内容。
    2.对内容进行修改。
    3.清空原来文件的内容。
    4.把新的内容写进去。
     1 #修改文件内容,把原来的密码‘123’都修改为‘1234’
     2 f=open('username','a+',encoding='utf-8')
     3 f.seek(0)
     4 all_str=f.read()
     5 new_str=all_str.replace('123','1234')
     6 f.seek(0)
     7 f.truncate()#清空文件内容
     8 f.write(new_str)
     9 f.close()
    10 
    11 #下面这个方法是给用户名增加一个前缀
    12 f=open('username','a+',encoding='utf-8')
    13 f.seek(0)
    14 all_str=''
    15 for line in f:
    16     i='syz'+line
    17     all_str=all_str+i
    18 f.seek(0)
    19 f.truncate()
    20 f.write(all_str)
    21 f.close()
    22 
    23 f.write()#写的时候只能写字符串
    24 f.writelines(['a','b'])#可以直接把list写进文件(因为他能帮助我们循环)

    (B)快速修改文件,通过两个文件进行修改

     1 # 打开2个文件
     2 # a文件
     3 # 写一行写到b文件
     4 # a.txt  a.txt.bak
     5 #删掉a文件,b文件名字改为a文件名
     6 import os
     7 with open('words',encoding='utf-8') as fr,open('.words.bak','w',encoding='utf-8') as fw:
     8     for line in fr:
     9         new_line = line.replace('','flower')
    10         fw.write(new_line)
    11 os.remove('words')#删除文件
    12 os.rename('.words.bak','words')#修改文件名

    三,函数。

    函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法。在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有function,在Java里面叫做method。

    定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可。

    四,使用函数的好处

    1、简化代码
    2、提高代码的复用性
    3、代码可扩展

    五。python中函数的定义:

    定义函数使用def关键字,后面是函数名,函数名不能重复

    简单的定一个函数:

    1 def sayHello():#函数名
    2     print('hello')#函数体
    3 
    4 #函数不调用是不会被执行的
    5 # sayHello()#调用函数

    六,函数的参数(实参,形参)

    函数在调用的时候,可以传入参数,有形参和实参

    形参:

    形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。

    实参:

    实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。函数调用结束返回主调用函数后则不能再使用该形参变量。

  • 相关阅读:
    Spine学习四
    Spine学习三
    用 C 语言开发一门编程语言 — 基于 Lambda 表达式的函数设计
    用 C 语言开发一门编程语言 — 变量元素设计
    用 C 语言开发一门编程语言 — Q-表达式
    C 编程异常 — double free or corruption (fasttop)
    用 C 语言开发一门编程语言 — S-表达式
    用 C 语言开发一门编程语言 — 异常处理
    用 C 语言开发一门编程语言 — 抽象语法树
    用 C 语言开发一门编程语言 — 语法解析器
  • 原文地址:https://www.cnblogs.com/xmhd/p/8876564.html
Copyright © 2011-2022 走看看