首页 > 其他 > 详细

Day5_函数全局变量+列表推导式+函数递+常用模块

时间:2018-07-07 19:42:01      阅读:197      评论:0      收藏:0      [点我收藏+]
# 定义一个读取文件的函数
import json

FILE_N = goods
def op_file(fname):
    with open(fname, encoding=utf-8) as fr:
        res = json.load(fr)
        return res
print(op_file(FILE_N))

#局部变量
    #在函数里面定义的变量都是局部变量,除了函数之后就不能用了
#全局变量
    #在文件最上面定义的这个变量,就是全局变量

#S1不可变变量的声明
name = 小黑
def variate_pratice():
    global name
    name = 小白
    print(你好,name)
variate_pratice()
print(name)
# 你好 小白
# 小白


#S2可变变量不需要声明就可以直接改了
d = {age:123}
def variate_pr():
    d [sex] = 
    print(d)
variate_pr()
print(d)
#{‘age‘: 123, ‘sex‘: ‘女‘}
#{‘age‘: 123, ‘sex‘: ‘女‘}


def my(name,sex=,*args,**kwargs):
    print(name)
    print(sex)
    print(args)
    print(kwargs)
my(xhei,)
my(xhei,hhh,args,args2,k=1,k2=v2)
my(name=hahah,sex=nv,age=18)
my(type=car,a=1,c=1)


#函数的递归 最多调用999次

count = 0
def add():
    global count
    count+=1
    print(count)
    add()
add()

#所以用递归的时候一定要有一个明确的结束条件
def digui_pr():
    num = int(input(请输入一个数字: ))
    if num %2 != 0:
        print(请输入一个偶数)
        digui_pr()
        # return digui_pr()

digui_pr()


#列表推导式
import random
res = [10,2,3,11,5,34]
for i in range(len(res)):
    res[i] = str(res[i]).zfill(2)
print(res)
#等同于
RES = [str(i).zfill(3) for i in res]
print(RES)
RES2 = [i+10 for i in res]
print(RES2)

 

import os
print(os.getcwd()) #取当前的路径
os.mkdir(spz)#创建文件夹
os.mkdir(e:\\nhy123)
os.makedirs(spz2)#创建文件夹
os.makedirs(stu\laowang) #父目录不存在的时候会帮你创建父目录
print(os.listdir(rC:\Users\Administrator\Desktop\pylearn_spz\Day5\day5))#获取某个目录下的所有文件,并且放到一个列表里
for i in range(10):
    os.makedirs(frC:\Users\Administrator\Desktop\pylearn_spz\Day5\0707\07test{i})

os.rmdir(rC:\Users\Administrator\Desktop\pylearn_spz\Day5\spz2)#只能删除空文件夹
把末尾是偶数的文件夹中,创建一个a.txt,文件,里面随便写点东西
1、获取到这个目录下所有的文件夹, os.listdir(‘‘)
2、判断文件夹的名字最后一位是不是偶数
3、如果是偶数的,在这个文件里 f = open(a.txt)  f.write(xxx)
for dir in os.listdir(rC:\Users\Administrator\Desktop\pylearn_spz\Day5\0707):
    if int(dir[-1])%2 == 0:
        abs_path = (rC:\Users\Administrator\Desktop\pylearn_spz\Day5\0707\%s\test.txt%dir)
        with open(abs_path,w,encoding=utf-8) as fw:
            fw.write(who tm cares)



print(os.path.join(nhy123,test0,a.txt))#拼接路径,它会自动识别路径分隔符
print(os.sep)#当前系统的路径分隔符
print(os.path.dirname(e:\\nhy123\\test0\\a.txt))#获取父目录的路径
print(os.path.getsize(e:\\nhy123\\test0\\a.txt)) #获取文件大小的
print(os.path.exists(code))#判断文件、文件夹是否存在
print(os.path.isdir(e:\\))    #判断是否是文件夹,如果文件夹不存在的话,会返回False
print(os.path.isfile(re:\\nhy123\\test0\\a.txt))  #判断是否是文件,如果文件不存在的话,会返回False
print(os.path.dirname(user/local/test))#获取父目录的路径
print(os.path.split(re:\nhy123\test0\a.txt))#分割文件名和路径的
import time

时间戳 从unix元年开始到现在过的秒数
格式化好的时间 2018-07-01

时间元组,

print(int(time.time()))#获取当前时间戳
print(time.strftime(%Y%m%d%H%M%S))
print(24*60*60*3)
print(time.gmtime()) #把时间戳转成时间元祖,如果不传时间戳,那么取的是标准时区的时间
print(time.localtime(1530436245 - 259200))#把时间戳转成时间元祖,如果不传时间戳,那么取的是当前时区的时间
print(time.strftime(%Y%m%d%H%M%S,time.localtime(1530436245 - 259200)))

#1、时间戳转格式化好的时间
    # 1、首先要把时间戳转成时间元组
    # 2、再把时间元组转成格式化好的时间
def timestampToStr(timestamp=None,format=%Y-%m-%d %H:%M:%S):
    if timestamp:
        time_tuple = time.localtime(timestamp)  # 转成时间元组
        return time.strftime(format,time_tuple) #把时间元组,转成格式化好的时间
    return time.strftime(format)

#2、格式化好的时间,转时间戳,
    #1、首先要把格式化好的时间 转成时间元组
    #2、再把时间元组转成时间戳
def strToTimestamp(format_time=None,format=%Y%m%d%H%M%S):
    if format_time:
        time_tuple = time.strptime(format_time, format)#把格式化好的时间,转成时间元组
        return int(time.mktime(time_tuple))
    return int(time.time())

# print(strToTimestamp(‘20190221180759‘))
# print(strToTimestamp())

 

Day5_函数全局变量+列表推导式+函数递+常用模块

原文:https://www.cnblogs.com/jinzhng/p/9276922.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!