标签:abs 存在 原来 sssss join 时间段 文件删除 shutil 格式转换
import time
# 获取时间戳
# 时间戳:从时间元年(1970 1 1 00:00:00)到现在经过的秒数。
# print(time.time()) # 1558314075.7787385 1558314397.275036
# 获取格式化时间对象:是九个字段组成的。
# 默认参数是当前系统时间的时间戳。
# print(time.gmtime()) # GMT:
# print(time.localtime())
# print(time.gmtime(1)) # 时间元年过一秒后,对应的时间对象
# 时间对象 -> 时间戳
# t1 = time.localtime() # 时间对象
# t2 = time.mktime(t1) # 获取对应的时间戳
# print(t2)
# print(time.time())
# 格式化时间对象和字符串之间的转换
# s = time.strftime("year:%Y %m %d %H:%M:%S")
# print(s)
# 把时间字符串转换成时间对象
# time_obj = time.strptime('2010 10 10','%Y %m %d')
# print(time_obj)
# 普通算法:根据年份计算是否是闰年.是:29天,否:28
# 用datetime模块.
# 首先创建出指定年份的3月1号.然后让它往前走一天.
year = int(input("输入年份:"))
# 创建指定年份的date对象
d = datetime.date(year,3,1)
# 创建一天 的时间段
td = datetime.timedelta(days=1)
res = d - td
print(res.day)
import os
# 和文件操作相关,重命名,删除
# os.remove('a.txt')
# os.rename('a.txt','b.txt')
# 删除目录,必须是空目录
# os.removedirs('aa')
# 使用shutil模块可以删除带内容的目录
# import shutil
# shutil.rmtree('aa')
# 和路径相关的操作,被封装到另一个子模块中:os.path
# res = os.path.dirname(r'd:/aaa/bbb/ccc/a.txt') # 不判断路径是否存在.
# print(res)
#
# # 获取文件名
# res = os.path.basename(r'd:/aaa/bbb/ccc/a.txt')
# print(res)
# 把路径中的路径名和文件名切分开,结果是元组.
# res = os.path.split(r'd:/aaa/bbb/ccc/a.txt')
# print(res)
# 拼接路径
# path = os.path.join('d:\\','aaa','bbb','ccc','a.txt')
# print(path)
# 如果是/开头的路径,默认是在当前盘符下.
# res = os.path.abspath(r'/a/b/c')
# 如果不是以/开头,默认当前路径
# res = os.path.abspath(r'a/b/c')
# print(res)
# 判断
# print(os.path.isabs('a.txt'))
# print(os.path.isdir('d:/aaaa.txt')) # 文件不存在.False
# print(os.path.exists('d:/a.txt'))
# print(os.path.isfile('d:/asssss.txt')) # 文件不存在.False
import sys
print('脚本名称:',sys.argv[0])
print('第一个参数:',sys.argv[1])
print('第二个参数:',sys.argv[2])
使用脚本方式运行:
python a.py hello world
python专用的序列化模块.
和json的方法一致.
区别
json:
1.不是所有的数据类型都可以序列化.结果是字符串.
2.不能多次对同一个文件序列化.
3.json数据可以跨语言
pickle:
1.所有python类型都能序列化,结果是字节串.
2.可以多次对同一个文件序列化
3.不能跨语言.
# 注册,登录程序:
def get_md5(username,passwd):
m = hashlib.md5()
m.update(username.encode('utf-8'))
m.update(passwd.encode('utf-8'))
return m.hexdigest()
def register(username,passwd):
# 加密
res = get_md5(username,passwd)
# 写入文件
with open('login',mode='at',encoding='utf-8') as f:
f.write(res)
f.write('\n')
def login(username,passwd):
# 获取当前登录信息的加密结果
res = get_md5(username, passwd)
# 读文件,和其中的数据进行对比
with open('login',mode='rt',encoding='utf-8') as f:
for line in f:
if res == line.strip():
return True
else:
return False
while True:
op = int(input("1.注册 2.登录 3.退出"))
if op == 3 :
break
elif op == 1:
username = input("输入用户名:")
passwd = input("输入密码:")
register(username,passwd)
elif op == 2:
username = input("输入用户名:")
passwd = input("输入密码:")
res = login(username,passwd)
if res:
print('登录成功')
else:
print('登录失败')
不同的加密对象,结果长度不同,长度越长,越耗时.常用的是md5.
标签:abs 存在 原来 sssss join 时间段 文件删除 shutil 格式转换
原文地址:https://www.cnblogs.com/styxr/p/12175335.html