python大法好——修改文件、函数

1.修改文件

补充上次没洗完的:

想要修改某个文件里一块地方,可以使用seek函数找到位置write函数修改。

是不是觉得这很简单?

但是如果你这样操作很可能会出现乱码。

因为由于字节数的不同,编码的不同,你把你写的东西直接添加进去对原来的位置不是往后移,而是在原来的位置上直接覆盖,所以可能会出现乱码。

但是为什么word、wps可以直接修改文件?

wps、word会把文件从内存中全部加载到硬盘上,而不是在内存中修改,你有可能会发现当我们打开一个很大的文件时wps.word打开都很慢,因为把文件从内存中加载到硬盘里需要时间,文件越大需要的时间越多!

2.函数

函数是将一组语句通过一个名字*(函数名)封装起来,要想执行时,只需要调用其名字即可。

def fun():
     操作

主要作用是为了减少代码重复、使程序变得可扩展、易于程序的维护

下面我们看看什么是形参实参?

def fun(x,y):           #这其中x,y是形参
      操作

#函数调用
fun(5,6)                #实参

python中的默认参数(举例生活中我们需要填一些东西,他老让我们写国籍,在我们的学校里都基本是国人,所以我们不想写国籍了怎么办?

用默认参数直接默认填写)

#默认参数
def fun(name,age,loc="中国"):
     操作

当我们调用时如果不写这个参数他会默认是中国

fun("卢本伟",99)  #我们没有写  就显示中国

fun("卢本伟",99,us)#如果写了就显示什么

注意的是默认参数必须放在位置参数的后面!!!!!!

python中的关键参数(必须放在未知参数后面)

def fun(name,age,country):
      操作

#函数调用
fun("卢本伟",country="日本",age=99)

python中非固定参数

def send(msg,*user):
       for u in user:
           print("报警",u)

调用

方式一
 send("报警",‘alex‘,‘daliu‘)
其实写了*user后,参数就不固定了看你需要多少!

方式二
send(‘报警‘,*[‘alex‘,‘daliu‘])

注意啦:::若*user后面还有参数怎么写呢    上面的写法是会报错的。

举例子:

def send(name,*user,age):
           操作

调用:send("卢本伟",‘alex‘,‘daliu‘,age=99)
这样子是不会报错的

可能大家也注意到了 *user就是穿了一个元祖/列表

那可以传递字典吗?

当然是可以的。。

name={
"01":"卢姥爷",
"02":"开挂最牛逼"
}

def send(msg,**name):
        操作

函数调用:send("报警",**name)

2.1返回值

函数中止并返回结果,未指定的返回none,函数永远只返回一个值

若出现这种:return name,age 是返回了两个值吗?

不是的,系统会将他们当做元祖显示出来。

也可以直接返回元祖例: return [name,age]

2.2局部变量、全局变量

局部变量:函数里面定义的变量,只在函数内部有效.

执行就近原则!

name=[‘alex‘,‘black‘,‘peiq‘]

def change():
        def name[2]
        name[1]=‘黑‘
        print(names)

#函数调用
change()
print(names)
 结果是:name=[‘alex‘,黑]
为什么可以改变全局变量的值?
这其实只是把name的地址当做是一个整体,但其内部是可以修改的!
那种的是可以修改的?
就像这种一串串的可以修改  什么列表呀 字典丫的

2.3嵌套函数

就是函数里面嵌套函数嘛

要说的只有一点非常的重要

def change() :
     print("a")
     def change1() :
           print("b")
函数调用
change()

这个结果会显示什么?

结果:a

因为change1没有被调用所以不会执行

2.4匿名函数

fun=lambda x,y :

           x*y

调用:print(fun(2,5))

就这个例子自行体会,要知道的是在匿名函数最骚的操作可能就是三元运算了。循环什么都不行,

2.5高阶函数

满足条件:

1.函数中参数是另一个函数(就是参数是函数)

def a(x,y):
     return x*y
def b(x):
     return x
f=b(a)        #函数a被当做参数传入
print(f(2,8))

2.返回值中返回有函数

例:return abs,x,y

原文地址:https://www.cnblogs.com/lchh/p/9379324.html

时间: 2024-08-29 03:16:46

python大法好——修改文件、函数的相关文章

Python(46)_修改文件

#-*-coding:utf-8-*- import os ''' 以后遇到修改文件,就是先读一个文件,替换.然后写到新文件里去 ''' # 不指定mode,默认只读,open,python不能直接操作文件,必须要通过操作系统,不指定编码的化,open默认的是utf-8,操作系统是gbk,所以不写会乱码 # 先读出来再改 with open('log.txt',encoding='utf-8') as f,open('log.bak','w',encoding='utf-8') as f1: f

python之pickle | 修改文件中字典中的值

dump扔到硬盘上 load方法:加载到内存 修改某个值: load加载到内存 close 在open w  打开再写就是覆盖,不关的情况下dump会出现两段 再dump一下 覆盖到硬盘 close

python 修改文件的创建时间、修改时间、访问时间

目录 python 修改文件创建.修改.访问时间 方案一 方案二(无法修改文件创建时间) python 修改文件创建.修改.访问时间 突如其来想知道一下 python 如何修改文件的属性(创建.修改.访问时间),于是就去网上搜集了可行方案,也就有了这篇博客 方案一 参考博客:python修改任意文件的创建时间.修改时间.访问时间 from win32file import CreateFile, SetFileTime, GetFileTime, CloseHandle from win32fi

python修改文件内容,不需要read,write多个动作。

python  要修改文件内容,常用 是先read,后write , 再 rename,很不爽. 比如:需要 把       yuv_dir ="../HD/"   # "H:/HD_Master/1080i25/" 改为       yuv_dir ="C:/HD/"   # "H:/HD_Master/1080i25/" 很简单,但实际不好操作,因为read后文件指针就到后一行了,要使用seek到前一行等,很不好. 很多应

python 修改文件内容的程序

#1.修改文件的内容 #运行的时候要 python xxx.py hh.txt hehe hahaimport sys,osinputs = sys.argv#存的是所有运行时候传进来的参数#它就是用来获取在用python命令运行python文件的时候,传入的参数#1.判断用户输入的是不是够个数if len(inputs)<4: print('参数不够,至少需要3个参数,e.g: python xx.py xx.txt old_str new_str..')else: file_name = i

Python基础知识之文件读写与修改

基本操作 f = open("file1", "r")  # 打开文件 first_line = f.readline() # 读一行 data = f.read() # 读取剩下所有内容,文件大时候不要用 f.close()  #关闭文件 如果我们想循环文件,并且在第九行输出分割的话: for index, line in enumerate(file.readlines()):     if(index == 5):         print("--

python 修改文件内容

python 修改文件内容 一.修改原文件方式 1 def alter(file,old_str,new_str): 2 """ 3 替换文件中的字符串 4 :param file:文件名 5 :param old_str:就字符串 6 :param new_str:新字符串 7 :return: 8 """ 9 file_data = "" 10 with open(file, "r", encoding

python修改文件

## 修改文件 with open("test.txt", "w+") as f: f.write("I am a dba.\n") f.write("I am a boy.\n") f.seek(0) print(f.read()) f = open("test.txt", "r") with open("test.txt.bak", "w+")

python 文件操作(二) 替换性修改文件内容

正常情况我们想要仅对文件某一行的内容进行修改,而不改变其他内容,在原文件的基础上不能修改,因为当我们对原文件进行写操作时,如果原文件里面有内容,就会清空,在这种情况下,只能对文件进行替换性修改:即重新创建一个文件,把原文件的内容按行复制到新文件里,当复制到要修改的那一行时,就用我们需要的内容来替换原有的内容 eg:我们要修改原文件的第五行内容为"hello,小双双",实现源码如下: # 替换性修改文件内容 f_read = open('小双双', 'r', encoding='utf8