【5】python_基础_字符集、列表推导式、模块

Python基础

1 字符集

  • 字符集编码发展历程简介:2进制(0/1)→ASCII表(数字/英文/符号)→gb2312(简体中文) →gbk(汉字) →Unicode(万国码,存储空间加倍) →UTF-8
  • 跨国官方语言兼容:本国语言字符集→转换成Unicode→转换成外国语言字符集
  • python2的默认字符是ascii,python3的默认字符是utf-8
  • python2不支持中文,报错:no-ascii,解决方案:在py文件头部加上# -*- coding:utf-8 -*-

2 列表推导式(列表生成式)

  • 列表推导式:又叫列表生成式。

    res1=[str(i).zfill(2) for i in res1]

循环替换,不使用列表推导式练习

1 1 # 循环替换,不使用列表推导式
2 2 # 随机生成如下list:[‘03‘, ‘06‘, ‘31‘, ‘19‘, ‘05‘, ‘20‘]
3 3 import random
4 4 res = random.sample(range(1,34),6)  #生成列表
5 5 for i in range(len(res)):   #根据列表长度n,循环n次
6 6     tmp = res[i]    #将每次循环拿到的值,保存为tmp
7 7     res[i] = str(tmp).zfill(2)  #将tmp先转为字符串,再使用方法 zfill左补0,共2位,并赋值给当前循环下标对应的值
8 8 print(‘2=====‘,res) #打印格式化后的列表

1 2===== [‘03‘, ‘06‘, ‘31‘, ‘19‘, ‘05‘, ‘20‘]

View 循环替换练习 Result

列表推导式(列表生成式)练习

 1 # 列表推导式(列表生成式)
 2 # 把i作为每次循环res1取到的值,然后对i进行左补0处理,将每次处理的结果保存在新的列表中,再赋值给res1列表
 3 res1 = random.sample(range(1,34),6)
 4 res1 = [str(i).zfill(2) for i in res1]
 5 print(‘4=====‘,res1)
 6
 7 # 每个数再加10
 8 res3 = [3,6,31,19,5,20]
 9 res3 = [ i+10 for i in res3]
10 print(‘5=====‘,res3)
11
12 # 0~1000中的偶数(步长为2)
13 ou = [ i for i in range(0,1001,2)]
14 print(‘6=====‘,ou)

1 4===== [‘09‘, ‘02‘, ‘20‘, ‘33‘, ‘26‘, ‘05‘]
2 5===== [13, 16, 41, 29, 15, 30]
3 6===== [0, 2,...1000]

View 列表推导式 Result

3 模块

  • 模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称。

3.1 标准模块

  • 标准模块:python自带的模块,免安装。即可以直接import的模块,如json/random/datetime/time/os等

3.1.1 os模块

 1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 # Author:hwm
 4
 5 import os
 6 #*****取当前路径*****
 7 print(‘1=====‘,os.getcwd()) #取当前路径  (路径:win \\  mac /)
 8
 9 #*****创建文件夹*****
10 os.mkdir(‘spz‘)    #创建文件夹,默认在当前文件夹创建
11 os.mkdir(‘d:\\spz‘)    #创建文件夹,可以加上绝对路径,父级目录不存在时,则报错
12 os.makedirs(‘one\\spz2‘) #创建文件夹,父级目录不存在时,则一起创建父级目录
13
14 #*****获取指定文件夹下的文件或文件夹(返回一个list)*****
15 print(‘2=====‘,os.listdir(‘.‘)) # 获取当前目录下的文件或文件夹。返回一个list
16 print(‘3=====‘,os.listdir(‘d:\\‘)) # 获取d盘根目录下的文件或文件夹。
17 print(‘4=====‘,os.listdir(r‘test\\‘)) # 获取对应目录下的文件或文件夹。加r是避免如\t等 以为特殊字符,r用来转义
18
19 #*****删除空文件夹*****
20 for i in range(10):
21     os.makedirs(‘test\\test%s‘%i)
22 os.rmdir(‘test‘)  #删除空文件夹,文件夹非空会报错
23
24 print(os.remove("delete.txt"))  # 删除文件。文件不存在报错。
25 print(os.rmdir("delete1"))  # 删除指定的空文件夹。删除非空则报错。
26 print(os.removedirs("del\\del1"))  # 递归删除空目录(通过在目录上由深及浅逐层调用rmdir()函数)。遇到删除非空文件夹则报错。
27 # 参考https://blog.csdn.net/t704379675/article/details/55026009
28
29 #*****拼接路径*****
30 print(‘5=====‘,os.path.join(‘nhy123‘,‘test0‘,‘a.txt‘) )#自动拼路径
31 #*****获取当前系统的路径分割符*****
32 print(‘6=====‘,os.sep) #当前系统的路径分割符 win\
33 #*****获取父目录路径*****
34 print(‘7=====‘,os.path.dirname(r‘D:\\PycharmProjects\base\\Python3_class\\Day5\test\\test0\\a.txt‘))  #获取父目录路径
35 #*****获取文件大小*****
36 print(‘8=====‘,os.path.getsize(r‘test\\test0\\a.txt‘)) #获取文件大小
37 #*****判断文件或目录是否存在*****
38 print(‘9=====‘,os.path.exists(r‘test\\test0\\a.txt‘)) #判断文件或目录是否存在。存在,则返回True;不存在,则返回False
39 #*****判断是否是文件夹*****
40 print(‘10=====‘,os.path.isdir(r‘test\\test0\\q.txt‘)) #判断是否是文件夹。是文件夹,则返回True;不是文件夹,则返回False。如果不存在,则返回False
41 #*****判断是否是文件*****
42 print(‘11=====‘,os.path.isfile(r‘test\\test0\\q.txt‘)) #判断是否是文件。是文件,则返回True;不是文件,则返回False。如果不存在,则返回False
43 #*****分割文件夹路径和文件名称(返回元组)*****
44 print(‘12=====‘,os.path.split(r‘test\test0\a.txt‘)) #分割文件名和路径
45 #*****循环获取指定路径及其子目录下的文件夹路径、所有文件夹、所有文件*****
46 for cur_dir,dirs,files in os.walk(r‘3\\‘):  #自动循环。cur_dir当前目录,dirs对应目录下所有目录,files对应目录下所有文件
47     print(‘13=====‘,‘cur_dir=====‘,cur_dir,‘dirs=====‘,dirs,‘f=====‘,files)
48
49 os.rename("spz1","spz")#重命名,左旧右新
50 print(‘14=====‘,os.stat("6 OS模块.py"))  # 获取文件信息
51 print(‘15=====‘,os.environ)  # 当前系统的环境变量
52 print(‘16=====‘,os.name)  # 当前系统名称
53 print(‘17=====‘,os.linesep)  # 当前操作系统的换行符
54 print(‘18=====‘,os.pathsep)  # 当前系统的环境变量中每个路径的分隔符,linux是:,windows是;

1 1===== E:\PycharmProjects\Python3_class\Day5
 2 2===== [‘1 string‘, ‘1 string format.py‘, ‘1.py‘, ‘2 decode.py‘, ‘3‘, ‘3 function 补充.py‘, ‘4 递归 列表生成式.py‘, ‘5 内置函数.py‘, ‘6 format转时间戳.py‘, ‘6 module.py‘, ‘6 OS模块.py‘, ‘6 time模块.py‘, ‘6 时间戳转format.py‘, ‘6 检查模块是否安装成功.py‘, ‘6 自动修改日志名称.py‘, ‘6 自动创建文件.py‘, ‘del‘, ‘delete1‘, ‘goods‘, ‘homework‘, ‘logs‘, ‘logs.zip‘, ‘my_fun‘, ‘one‘, ‘spz1‘, ‘test‘, ‘test.py‘, ‘testia.txt‘, ‘testtest0a.txt‘, ‘testtest2a.txt‘, ‘testtest4a.txt‘, ‘testtest6a.txt‘, ‘testtest8a.txt‘, ‘video‘, ‘修改pip源为国内网站.py‘]
 3 3===== [‘$RECYCLE.BIN‘, ‘12306Bypass‘, ‘1results‘, ‘1scenarios‘, ‘1scripts‘, ‘1testclient‘, ‘apache-tomcat-7.0.82-windows-x64‘, ‘baidu‘, ‘BaiduNetdiskDownload‘, ‘BugReport.txt‘, ‘chrome 下载‘, ‘CloudMusic‘, ‘eclipse-workspace‘, ‘hwm‘, ‘ksdler‘, ‘LS‘, ‘Microsoft Visual C++ 2008 Redistributable Package‘, ‘Miniconda3‘, ‘Net‘, ‘Program Files‘, ‘Program Files (x86)‘, ‘Python2713‘, ‘Python362‘, ‘RcsFetionLog‘, ‘report‘, ‘Roaming‘, ‘SoapUI-Tutorials‘, ‘spz‘, ‘tomcat 7.0.47‘, ‘tomcat7-java_shop‘, ‘Users‘, ‘Virtual Machines‘, ‘Windows Virtual PC‘, ‘屏保‘, ‘杂七杂八‘, ‘迅雷下载‘, ‘颖淮1.9‘]
 4 4===== [‘1 string‘, ‘test0‘, ‘test1‘, ‘test2‘, ‘test3‘, ‘test4‘, ‘test5‘, ‘test6‘, ‘test7‘, ‘test8‘, ‘test9‘]
 5 5===== nhy123\test0\a.txt
 6 6=====  7 7===== D:\\PycharmProjects\base\\Python3_class\\Day5\test\\test0
 8 8===== 3
 9 9===== True
10 10===== False
11 11===== False
12 12===== (‘test\\test0‘, ‘a.txt‘)
13 13===== cur_dir===== 3\\ dirs===== [‘a‘, ‘b‘] f===== []
14 13===== cur_dir===== 3\\a dirs===== [‘adir‘] f===== [‘a1‘, ‘a2‘]
15 13===== cur_dir===== 3\\a\adir dirs===== [] f===== [‘adir1‘]
16 13===== cur_dir===== 3\\b dirs===== [] f===== [‘b1‘, ‘b2‘]
17 14===== os.stat_result(st_mode=33206, st_ino=1970324837026258, st_dev=139065, st_nlink=1, st_uid=0, st_gid=0, st_size=3418, st_atime=1530517252, st_mtime=1530517252, st_ctime=1530494537)
18 15===== environ({‘FTP_PASSIVE‘: ‘1‘, ‘ANALYSIS_PATH‘: ‘D:\\Program Files (x86)\\HP\\LoadRunner\\‘, ‘JRE_HOME‘: ‘C:\\Program Files\\Java\\jdk1.8.0_101\\jre‘, ‘PROCESSOR_LEVEL‘: ‘6‘, ‘SYSTEMROOT‘: ‘C:\\Windows‘, ‘USERPROFILE‘: ‘C:\\Users\\ucs_huangwenmin‘, ‘LOCALAPPDATA‘: ‘C:\\Users\\ucs_huangwenmin\\AppData\\Local‘, ‘PYTHONPATH‘: ‘E:\\PycharmProjects\\Python3_class‘, ‘LG_PATH‘: ‘D:\\Program Files (x86)\\HP\\LoadRunner\\‘, ‘COMMONPROGRAMW6432‘: ‘C:\\Program Files\\Common Files‘, ‘CATALINA_HOME‘: ‘C:\\Program Files\\tomcat\\apache-tomcat-7.0.82‘, ‘VBOX_MSI_INSTALL_PATH‘: ‘D:\\Program Files\\Oracle\\VirtualBox\\‘, ‘CLASSPATH‘: ‘.;D:\\Program Files\\bsh-2.0b4.jar;D:\\Program Files\\apache-ant-1.9.6\\lib;C:\\Program Files\\tomcat\\apache-tomcat-7.0.82\\lib\\servlet-api.jar;C:\\Program Files\\Java\\jdk1.8.0_101\\lib\\dt.jar;C:\\Program Files\\Java\\jdk1.8.0_101\\lib\\tools.jar;D:\\Program Files\\apache-jmeter-3.3/lib/ext/ApacheJMeter_core.jar;D:\\Program Files\\apache-jmeter-3.3/lib/jorphan.jar;D:\\Program Files\\apache-jmeter-3.3/lib/logkit-2.0.jar‘, ‘HOMEPATH‘: ‘\\Users\\ucs_huangwenmin‘, ‘APPDATA‘: ‘C:\\Users\\ucs_huangwenmin\\AppData\\Roaming‘, ‘PUBLIC‘: ‘C:\\Users\\Public‘, ‘LOG_FILE‘: ‘C:\\Users\\UCS_HU~1\\AppData\\Local\\Temp\\ihp_custom_batches.log‘, ‘SESSIONNAME‘: ‘Console‘, ‘COMSPEC‘: ‘C:\\Windows\\system32\\cmd.exe‘, ‘SYSTEMDRIVE‘: ‘C:‘, ‘USERDNSDOMAIN‘: ‘WANGJIN.LOCAL‘, ‘TERM‘: ‘dumb‘, ‘PROCESSOR_REVISION‘: ‘3c03‘, ‘PROGRAMFILES‘: ‘C:\\Program Files‘, ‘UNXUTILS_HOME‘: ‘D:\\Program Files\\UnxUtils‘, ‘LR_ROOT‘: ‘D:\\Program Files (x86)\\HP\\LoadRunner\\‘, ‘ASL.LOG‘: ‘Destination=file‘, ‘PROGRAMDATA‘: ‘C:\\ProgramData‘, ‘COMMONPROGRAMFILES(X86)‘: ‘C:\\Program Files (x86)\\Common Files‘, ‘WINDOWS_TRACING_LOGFILE‘: ‘C:\\BVTBin\\Tests\\installpackage\\csilogfile.log‘, ‘PATHEXT‘: ‘.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC‘, ‘PROCESSOR_IDENTIFIER‘: ‘Intel64 Family 6 Model 60 Stepping 3, GenuineIntel‘, ‘PSMODULEPATH‘: ‘C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\;C:\\Program Files (x86)\\Microsoft SQL Server\\120\\Tools\\PowerShell\\Modules\\‘, ‘TMP‘: ‘C:\\Users\\UCS_HU~1\\AppData\\Local\\Temp‘, ‘PYTHONUNBUFFERED‘: ‘1‘, ‘JMETER_HOME‘: ‘D:\\Program Files\\apache-jmeter-3.3‘, ‘TOMCAT_HOME‘: ‘C:\\Program Files\\tomcat\\apache-tomcat-7.0.82‘, ‘LR_PATH‘: ‘D:\\Program Files (x86)\\HP\\LoadRunner\\‘, ‘VUGEN_PATH‘: ‘D:\\Program Files (x86)\\HP\\LoadRunner\\‘, ‘USERDOMAIN‘: ‘WANGJIN‘, ‘PROGRAMFILES(X86)‘: ‘C:\\Program Files (x86)‘, ‘COMPUTERNAME‘: ‘HUANGWENMIN1‘, ‘COMMONPROGRAMFILES‘: ‘C:\\Program Files\\Common Files‘, ‘CURR_DIR‘: ‘D:\\Program Files (x86)\\HP\\LoadRunner\\dat\\Setup\\LoadRunner\\MSBuild\\..\\..\\..\\..‘, ‘PYTHONIOENCODING‘: ‘UTF-8‘, ‘WINDIR‘: ‘C:\\Windows‘, ‘FP_NO_HOST_CHECK‘: ‘NO‘, ‘PROGRAMW6432‘: ‘C:\\Program Files‘, ‘JAVA_HOME‘: ‘C:\\Program Files\\Java\\jdk1.8.0_101‘, ‘WINDOWS_TRACING_FLAGS‘: ‘3‘, ‘OS‘: ‘Windows_NT‘, ‘ALLUSERSPROFILE‘: ‘C:\\ProgramData‘, ‘PATH‘: ‘D:\\Miniconda3\\Library\\bin;D:\\Miniconda3;D:\\Program Files\\UnxUtils\\usr\\local\\wbin\\;\\D:\\Program Files\\apache-ant-1.9.6\\bin;C:\\Program Files\\tomcat\\apache-tomcat-7.0.82\\bin;C:\\Program Files\\Java\\jdk1.8.0_101\\bin;C:\\Program Files\\Java\\jdk1.8.0_101\\jre\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;d:\\Program Files (x86)\\Windows7Master;D:\\Program Files\\TortoiseSVN\\bin;C:\\Program Files\\Microsoft SQL Server\\120\\DTS\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\Client SDK\\ODBC\\110\\Tools\\Binn\\;C:\\Program Files (x86)\\Microsoft SQL Server\\120\\Tools\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\120\\Tools\\Binn\\;C:\\Program Files (x86)\\Microsoft SQL Server\\120\\Tools\\Binn\\ManagementStudio\\;C:\\Program Files (x86)\\Microsoft SQL Server\\120\\DTS\\Binn\\;C:\\Program Files\\Java\\jdk1.8.0_101\\bin;D:\\Python2713;D:\\Python2713\\Scripts;D:\\Python362;D:\\Python362\\Scripts;   ;C:\\strawberry\\c\\bin;C:\\strawberry\\perl\\bin;D:\\Program Files (x86)\\IDM Computer Solutions\\UltraEdit;D:\\Program Files\\TortoiseGit\\bin;d:\\Miniconda3;d:\\Miniconda3\\Scripts;d:\\Miniconda3\\Library\\bin;D:\\Python362\\Scripts\\;D:\\Python362\\;D:\\Python2713\\Scripts;D:\\Python2713;C:\\Users\\ucs_huangwenmin\\AppData\\Local\\Programs\\Fiddler‘, ‘HOMEDRIVE‘: ‘C:‘, ‘LOGGER_CONFIG_PATH‘: ‘D:\\Program Files (x86)\\HP\\LoadRunner\\dat\\ltlogconf.xml‘, ‘NUMBER_OF_PROCESSORS‘: ‘8‘, ‘ANT_HOME‘: ‘D:\\Program Files\\apache-ant-1.9.6‘, ‘PROCESSOR_ARCHITECTURE‘: ‘AMD64‘, ‘PYCHARM_HOSTED‘: ‘1‘, ‘TEMP‘: ‘C:\\Users\\UCS_HU~1\\AppData\\Local\\Temp‘, ‘TARGETDIR‘: ‘D:\\Program Files (x86)\\HP\\LoadRunner\\dat\\Setup\\LoadRunner\\MSBuild\\..\\..\\..\\..‘, ‘LOGONSERVER‘: ‘\\\\AD2016‘, ‘USERNAME‘: ‘ucs_huangwenmin‘})
19 16===== nt
20 17=====
21
22 18===== ;

View OS模块 Result

过滤文件夹并创建文件练习
 1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 # Author:hwm
 4
 5 # 把文件名末尾是偶数的文件夹中,创建一个txt文件,里面随便写点东西
 6 import os
 7 dir = os.listdir(r‘test‘)
 8 for i in dir:
 9     if i[-1].isdigit():
10         if not int(i[-1]) % 2:
11             #path =r‘test\\%s\\b.txt‘%i
12             path = os.path.join(‘test‘, i, ‘c.txt‘)
13             with open(path,‘w‘,encoding=‘utf-8‘) as fw:
14                 fw.write(‘abc‘)
遍历查找文件并重命名练习
 1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 # Author:hwm
 4 # logs目录下,循环遍历文件,将文件名重命名为xxx.bak(注意要进到相应的路径下再重命名)
 5 import os
 6 for cur_dir,dirs,files in os.walk(r‘logs\\‘):
 7     print(‘cur_dir=====‘,cur_dir,‘dirs=====‘,dirs,‘files=====‘,files)
 8     for file in files:
 9         old_path=os.path.join(cur_dir,file)
10         new_path = os.path.join(cur_dir, file+‘.bak‘)
11         os.rename(old_path,new_path)

3.1.2 time模块

1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 # Author:hwm
 4
 5 import time,datetime
 6 # 时间戳 从unix元年开始到现在过的秒数
 7
 8 print(‘1=====‘,time.time())# 获取当前时间戳。可使用在线转换工具查看
 9 print(‘2=====‘,int(time.time()))# 获取当前时间戳。可使用在线转换工具查看
10
11 # 格式化时间
12 print(‘3=====‘,time.strftime(‘%Y-%m-%d %H:%M:%S‘)) #格式化时间
13 s=3*24*60*60
14 print(‘4=====‘,time.time()-s) #三天前的时间戳
15
16 # 时间元组 (时间戳与格式化时间的中介)
17 # 把时间戳转成时间元组
18 print(‘5=====‘,time.gmtime()) # 把时间戳转成时间元组,如果不传时间戳,那么取的是标准时区的时间
19 print(‘6=====‘,time.localtime()) # 把时间戳转成时间元组,如果不传时间戳,那么取的是当前时区的时间
20 print(‘7=====‘,time.localtime(time.time()-s)) #三天前的时间元组
21 time_tuple =time.localtime()
22 # 把格式化时间转成时间元组
23 print(‘8=====‘,time.strptime(‘2018/07/01‘,‘%Y/%m/%d‘)) # 把格式化好的时间转成时间元组
24 # 时间元组转成格式化时间
25 print(‘9=====‘,time.strftime(‘%Y-%m-%d %H:%M:%S‘,time.localtime(time.time()-s))) #三天前的时间元组转化为格式化好的时间
26 # 时间元组转成时间戳
27 print(‘10=====‘,time.mktime(time_tuple)) # 把时间元组转成时间戳

 1 1===== 1530521852.7921028
 2 2===== 1530521852
 3 3===== 2018-07-02 16:57:32
 4 4===== 1530262652.7921028
 5 5===== time.struct_time(tm_year=2018, tm_mon=7, tm_mday=2, tm_hour=8, tm_min=57, tm_sec=32, tm_wday=0, tm_yday=183, tm_isdst=0)
 6 6===== time.struct_time(tm_year=2018, tm_mon=7, tm_mday=2, tm_hour=16, tm_min=57, tm_sec=32, tm_wday=0, tm_yday=183, tm_isdst=0)
 7 7===== time.struct_time(tm_year=2018, tm_mon=6, tm_mday=29, tm_hour=16, tm_min=57, tm_sec=32, tm_wday=4, tm_yday=180, tm_isdst=0)
 8 8===== time.struct_time(tm_year=2018, tm_mon=7, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=182, tm_isdst=-1)
 9 9===== 2018-06-29 16:57:32
10 10===== 1530521852.0

View time模块 Result

1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 # Author:hwm
 4
 5 # 时间戳转格式化好的时间
 6 # 1、把时间戳转成时间元组 2、把时间元组转成格式化好的时间
 7 import time
 8 def TimestampToStr(timestamp=None,format=‘%Y-%m-%d %H:%M:%S‘):
 9     if timestamp:
10         time_tuple = time.localtime(timestamp)  #把时间戳转成时间元组
11         return time.strftime(format,time_tuple) #把时间元组转成格式化好的时间
12     else:
13         return time.strftime(format)
14
15 print(‘1=====‘,TimestampToStr(1530177758.6843846))
16 print(‘2=====‘,TimestampToStr())
17 print(‘3=====‘,TimestampToStr(1530177758.6843846,‘%Y/%m/%d‘))

View 时间戳转成时间元组 Code

1 1===== 2018-06-28 17:22:38
2 2===== 2018-07-02 16:58:39
3 3===== 2018/06/28

View 时间戳转成时间元组 Result

 1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 # Author:hwm
 4
 5 # 格式化好的时间转时间戳
 6 # 1、把格式化好的时间转成时间元组 2、把时间元组转成时间戳
 7 import time
 8 def StrToTimestamp(format_time=None,format=‘%Y-%m-%d %H:%M:%S‘):
 9     if format_time:
10         time_tuple = time.strptime(format_time,format)  # 把格式化好的时间转成时间元组
11         return int(time.mktime(time_tuple)) #把时间元组转成时间戳
12     else:
13         return int(time.time())
14
15 print(‘1=====‘,StrToTimestamp(‘2018-07-01 17:31:28‘))
16 print(‘2=====‘,StrToTimestamp())
17 print(‘3=====‘,StrToTimestamp(‘2018/07/01‘,‘%Y/%m/%d‘))

View 格式化时间转成时间戳 Code

1 1===== 1530437488
2 2===== 1530522030
3 3===== 1530374400

View 格式化时间转成时间戳 Result

3.2 开源模块

  • 开源模块/第三方模块:他人写好的模块,安装完后能用的。
  • 第三方模块安装方式:
    • 1)命令行自动安装 pip install pymysql
      • ‘pip命令不存在‘解决方法:python安装目录下/Scripts/pip.exe加到环境变量后,就可以在命令行用pip去下载模块.

        • 在环境变量的PATH里新建D:\Miniconda3\Scripts
      • ‘pip Fatal error in launcher: Unable to create process using ‘‘‘‘解决方法:同上加环境变量
      • ‘Unknow or unsupported command ‘install‘‘解决方法:where pip,如果出现多行,且 /Scripts/pip.exe不在第一行,则在其他路径下将文件名改成非pip就可以了。
      • ‘超时‘解决方法:运行《修改pip源为国内网站.py》
      • 指定版本安装:python2 -m pip install pymysql、python3 -m pip install pymysql
  • 1 import os,sys,platform
     2 ini="""[global]
     3 index-url = https://pypi.doubanio.com/simple/
     4 [install]
     5 trusted-host=pypi.doubanio.com
     6 """
     7 os_version=platform.platform()
     8 if ‘Windows‘ in os_version:
     9     os_flag=False
    10     file_name=‘pip.ini‘
    11 else:
    12     os_flag=True
    13     file_name=‘pip.conf‘
    14 if os_flag==True:
    15     pippath=os.environ["HOME"]+os.sep+".pip"+os.sep
    16 else:
    17     pippath=os.environ["USERPROFILE"]+os.sep+"pip"+os.sep
    18 if not os.path.exists(pippath):
    19     os.mkdir(pippath)
    20 with open(pippath+file_name,"w") as f:
    21     f.write(ini)

    View 修改pip源为国内网站 Code

      • 2)手动安装

        • 下载pip源地址:https://pypi.org/project/pinyin/
        • .whl安装
          • 1、进入文件对应的目录,pip install redis-2.10.6-py2.py3-none-any.whl
          • 2、或者任意目录下,pip install 绝对路径\redis-2.10.6-py2.py3-none-any.whl
        • .tar.gz安装
          • 1、解压
          • 2、进入setup.py目录下,shift+右键,在此处打开命令行窗口。或者直接在地址栏输入cmd
          • 3、python setup.py install执行
      • 3) pycharm
        • pycharm->settings->project->Project Interpreter ,点加号,搜索下载安装
    • 检查模块是否安装成功:在pip.exe目录路径下,打开命令行输入pip list

3.3 自定义模块

  • 自己写的python模块

原文地址:https://www.cnblogs.com/xhybk/p/9261233.html

时间: 2024-11-06 03:41:32

【5】python_基础_字符集、列表推导式、模块的相关文章

python基础-三元表达式/列表推导式/生成器表达式

1.三元表达式:如果成立返回if前的内容,如果不成立返回else的内容 name=input('姓名>>: ') res='SB' if name == 'alex' else 'NB' print(res) 2.列表推导式:l=['egg'+str(i) for i in range(1,11)] print(l) 3.生成器表达式: l=('egg'+str(i) for i in range(1,11) if i >6) for i in l: print(i) 原文地址:http

python基础之列表推导式

1.列表推导式 1.1.求0~29之间能被3整除的数 ret = [i for i in range(30) if i%3 ==0] print(ret) 输出结果: [0, 3, 6, 9, 12, 15, 18, 21, 24, 27] 2.字典推导式 2.1.将字典mcase = {'a': 10, 'b': 34}的key.value互换位置 mcase = {'a': 10, 'b': 34} mcase_frequency = {mcase[k]: k for k in mcase}

【python基础】列表推导式&字典推导式&集合推导式

一.定义 python的一种独有特性, 推导式是可以从一个数据序列构建另一个新的数据序列的结构体 列表推导式,字典推导式,集合推导式(集合是可变数据类型,集合中的元素是不可变数据类型) 1.列表推导式 提供了简单的生成列表的方法 (1)语法结构 ①list = [表达式 for item in 容器] ②list = [表达式 for item in 容器 if 条件] ③list = [表达式 for item1 in 容器1 for item2 in 容器2] (2)执行流程 ①循环遍历出容

三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数

一 三元表达式.列表推导式.生成器表达式 1.三元表达式 name=input('姓名>>: ') res='SB' if name == 'alex' else 'NB' print(res) 2.列表推导式 #1.示例 egg_list=[] for i in range(10): egg_list.append('鸡蛋%s' %i) egg_list=['鸡蛋%s' %i for i in range(10)] #2.语法 [expression for item1 in iterabl

列表推导式----生成器表达式

列表推导式: 基本形式: [表达式  for  参数  in  可迭代对象]   或者 [表达式  for  参数  in  可迭代对象  if   条件] 实例: 1 l = [] 2 for i in range(100): 3 l.append('egg%s' %i) 4 print i 5 6 #不带if条件 7 l = ['agg%s' %i for i in range(100) ] 8 9 #带if条件 10 l = ['agg%s' %i for i in range(100)

part4-2 流程控制二(循环结构,while、for循环,列表推导式、生成器推导式,常用工具函数,控制循环结构,4个简单实例)

循环语句在循环条件满足时,可反复执行某一段代码,这段被重复执行的代码称为循环体.在循环体中,需要在合适的时候把循环条件设置为假,从而结束循环:否则循环一直执行下去形成死循环.循环语句通常包含如下4个部分.(1).初始化语句(init_statements):在循环开始前执行,有一条或多条语句,用于完成一些起初始化工作.(2).循环条件(test_expression):一个布尔表达式,决定是否执行循环体.(3).循环体(body_statements):循环的主体,根据循环条件是否允许,这个代码

python列表推导式中使用if-else

今天在处理自动化邮件数据时碰到数据行中包含字符串后,从hive中拿到的整数型数据自动转化成了浮点数,严重影响美观性.因此想到了用列表推导式来做转化,将其中的数字型数据全部转化为整型,而字符型数据保留原样. 列表推导式总共有两种形式: ①[x for x in data if condition] 此处if主要起条件判断作用,data数据中只有满足if条件的才会被留下,最后统一生成为一个数据列表 ②[exp1 if condition else exp2 for x in data] 此处if..

python 3列表推导式的的一点理解!

Python的列表推导式对于新手来说一般都难以理解,简单看个例子: [x * x for x in range(1,100)] 上面是一个很简单的列表推导式,我的理解方式是从右往左看. 一点一点来看吧,我们先用range(1,100)生成一个迭代器对象(1-99的列表),然后再迭代这个列表的每一个对象,然后让每个对象执行一次平方操作,最后生成一个列表. -----------------------------分割线----------------------------------------

Python的列表推导式

1.列表推导式书写形式: [表达式 for 变量 in 列表]    或者  [表达式 for 变量 in 列表 if 条件] 2.举例说明: #!/usr/bin/python # -*- coding: utf-8 -*- li = [1,2,3,4,5,6,7,8,9] print [x**2 for x in li] print [x**2 for x in li if x>5] print dict([(x,x*10) for x in li]) print [ (x, y) for