美文网首页
python学习过程中遇到的问题

python学习过程中遇到的问题

作者: 夏洛伊de风 | 来源:发表于2019-05-15 00:28 被阅读0次

1.在创建一个文件,写入并读取的过程中,遇到了一个问题,就是怎么都读取报错说格式不对,网上给的解释:

  出现这种问题绝大部分情况是因为文件不是 UTF8 编码的(例如,可能是 GBK 编码的),而系统默认采用 UTF8 解码。解决方法是改为对应的解码方式。

下面是我修改后的代码:
import os;
os.chdir('C:/Users/zhaohua')
f = open('新建文件2.txt','w',encoding = 'UTF-8')
f.close();
f = open('新建文件2.txt','a',encoding = 'UTF-8')
f.write("锄禾日当午\n汗滴禾下土\n谁知盘中餐\n粒粒皆辛苦");
f.close();
f = open('新建文件2.txt','r',encoding = 'UTF-8')
g = [print(i) for i in f.readlines()]
第三行最初没有加入encoding = 'UTF-8',导致报错。说明使用open+w创建出来的文件都是gbk编码。
  1. time函数的相互转化:
    Timestamp是时间戳
    struct_time是标准时间格式
    Format string是格式化的字符串格式


    2019214-161844.jpg

3.列表,字典,元组,字符串,集合是可迭代对象,用下面语句可以判断

from collections import Iterable
isinstance(type,Iterable)

但是上面说的都不是迭代器,如果想变成迭代器,就必须使用下面语句转化,然后才可以用next()函数来迭代

from collections import Iterator
isinstance(type,Iterator)

4.python的匿名函数的使用方法:

f = lambda x:x**3
f(2)

5.关于map函数(映射)的使用,下面写一道题目:

希望对一个输入的字符串处理,第一个字符是大写,后面都是小写。
str1 = input("输入一个字符串:")
def fun():
    def fun2(str2):
        return "".join(list(map(lambda x:x.lower(),str2)));
    return str1[0].upper() + fun2(str1[1:])
print(fun())        

6.学习类的时候遇到了title函数,这个函数作用是字符串标题划,即首字母大写,其他的小写。
7.ascii码和字符的转化和fliter函数(过滤)代码:

print("".join(list(filter(lambda x:ord(x) > 90,'asaDSADA'))));
chr(90)

ord可以将字符转为ascii码,而chr的作用则相反
8.json文件的操作:

import json;
try:
    with open("username.json") as name_file:
    user_name = json.load(name_file);
except FileNotFoundError:
    your_name = input("please input your name:");
    with open("username.json",'w') as name_file:
        json.dump(your_name,name_file);
else:
    print('welcome back,'+user_name);

要注意导入json模块,对json文件的读写则使用load和dump,使用with open as这个组合可以避免一些问题,比如忘记close文件。
9.学习绘制表格的库matplotlib.pyplot的时候遇到了tick_params这个函数,它的作用主要是修改坐标轴上的样式,具体内容参考这篇文章:https://blog.csdn.net/helunqu2017/article/details/78736554
10.获取国别码的时候,调用ImportError: No module named 'pygal.i18n'这个模块报错,是因为新版本python已经不支持这个模块,要重新安装:

在终端中运行下面语句(注意pip3/pip)
pip install pygal_maps_world

最后使用的时候

from pygal_maps_world.i18n import COUNTRIES;

这之后创建世界地图的函数也不支持了,wm = pygal.Worldmap()这个需要改成:

import pygal.maps.world;
wm = pygal.maps.world.World();

相关文章

网友评论

      本文标题:python学习过程中遇到的问题

      本文链接:https://www.haomeiwen.com/subject/gubeeqtx.html