python的一些基本用法(常忘)

1.try语句

语法:

#完整的语法结构
try:
    语句1...
except exception1:
    语句2...
except exception2:
    语句3...
except:
    语句4...
else:
    语句5...
finally:
    语句6...

解释:

  • 尝试执行语句1,执行遇到异常时,之下面的except语句,层层比较;
  • 是否是exception1,是否是exception2,如果是则执行相应的语句2语句3
  • 如果except后面没有任何参数(except:),那么表示所有的exception都交给这段程序处理,执行语句5
  • 如果try中没有异常,那么except部分将跳过,执行else中的语句5;
  • finally是无论是否有异常,最后都要执行语句6
  • 流程如下:
    try->异常->except->finally
    try->无异常->else->finally

例子1

#例子1
try:
    num = int(input('请输入一个整数:'))
    result = 7/num
    print(result)
except ValueError:
    print('输入的值不是合法的整数')
except Exception as r:
    print('未知错误 %s' %(r))
else:
	print('计算正确')
finally:
    print('无论是否有异常,都会执行的代码')

例子2:try的嵌套

#例子2:try的嵌套
try:
    a = 1/0
    print(a)
except:
    print('flag1')
    try:
        b = 6/2
        print(b)
    except:
        print('flag2')

2. eval() 方法

  • 使用eval() 去除字符串两短的引号
string = "['abc']"
print(eval(string))
print(type(eval(string)))
结果:
['abc']
<class 'list'>

string1 = "'abc'"
print(string1)
print(eval(string1))
print(type(eval(string1)))
结果:
'abc'
abc
<class 'str'>

3.python处理文件列表的顺序问题 list.sort()

  • 在windows文件管理器中,文件按照数字从小到大排列(文件名只为数字时,eg.123.txt);
  • python处理文件时,并非按照windows文件管理器中的顺序

例子:
在windows文件管理器中:
在这里插入图片描述
使用python获取文件列表

import os
files = os.listdir("./files/")
print(files)

结果:
['0.txt', '1.txt', '10.txt', '11.txt', '12.txt', '13.txt', '14.txt', '15.txt', '16.txt', '17.txt', '18.txt', '19.txt', '2.txt', '20.txt', '21.txt', '3.txt', '4.txt', '5.txt', '6.txt', '7.txt', '8.txt', '9.txt']

如何让python按照windows文件管理器中的顺序处理文件呢?

import os

#将文件夹按文件名排序
list_f = []
for f in os.listdir("./files/"):
    f = int(f.replace(".txt", ""))
    list_f.append(f)
list_f.sort()
print("list_f:",list_f)

for f in list_f:
    f = str(f) + ".txt"
    print(f)
    infile = os.path.join("./files/", f)

结果:
list_f: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]
0.txt
1.txt
2.txt
3.txt
4.txt
5.txt
6.txt
7.txt
8.txt
9.txt
10.txt
11.txt
12.txt
13.txt
14.txt
15.txt
16.txt
17.txt
18.txt
19.txt
20.txt
21.txt

4. with open的用法

以前使用open打开文件的时候,最后还需要关闭文件;
现在一般使用with open ()的方法来操作文件,不需要手动关闭文件了。

with open('filename.txt', 'r') as f:
   data_user=pd.read_csv(f)  #文件的读操作

with open('data.txt', 'w') as f:
   f.write('hello world')  #文件的写操作

相关参数:

r:    以只读方式打开文件。文件的指针将会放在文件的开头。这是**默认模式**。
rb: 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+: 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w:    打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb:    以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+:    打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a:    打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab:    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+:    打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

file对象的属性:

file.read([size])   将文件数据作为字符串返回,可选参数size控制读取的字节数
file.readlines([size])   返回文件中行内容的列表,size参数可选
file.write(str)   将字符串写入文件
file.writelines(strings)   将字符串序列写入文件
file.close()   关闭文件
file.closed    表示文件已经被关闭,否则为False
file.mode    Access文件打开时使用的访问模式
file.encoding    文件所使用的编码
file.name    文件名
file.newlines    未读取到行分隔符时为None,只有一种行分隔符时为一个字符串,当文件有多种类型的行结束符时,则为一个包含所有当前所遇到的行结束的列表
file.softspace    为0表示在输出一数据后,要加上一个空格符,1表示不加。这个属性一般程序员用不着,由程序内部使用

参考:with open() as f 用法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值