1. 程式人生 > >python中的小知識點

python中的小知識點

是把 入參 name 運行 是否 pri .py print dmi

1、想要獲取當前時間需要使用time

  import time #引用time方法
  Now_time = time.strftime(‘%Y-%m-%d %H:%M:%S‘) #輸出當前的時間,格式是固定的,輸入結果為2017-06-08 21:21:33

2、在文件寫入的時候,想在文件中加入空格或者換行的話,格式如下:

  其中Now_time是定義的變量、nathing是函數中傳入的參數,是可以加引號的,他們之間使用+號進行連接
  fl.write(Now_time+‘ ‘+nathing+‘\n‘)
3、當將文件中的內容換為字典了之後,密碼怎麽判斷跟輸入的用戶是不是一致
 當文件中字典的存放格式如下:
  因為每個key有兩個值,並且又放在一個字典裏,其中passwd是第二個字典裏的key,所以查找時可繼續使用字典取值的方式,註意要加引號,因為字典中的key是字符串,不加引號的話會作為變量進行查找了
{‘luoluo‘: {‘money‘: 5435, ‘passwd‘: 234567}, ‘admin‘: {‘money‘: ‘12.12‘, ‘passwd‘: ‘123456‘}}
pwd == str(user_dic[username][‘passwd‘])
4、添加商品中判斷價格為小數的情況,以下是判斷為數字和小數的情況,其中包括正小數和負小數:---牛牛大神的傑作喔
2 3 4 5 6 7 8 9 10 11 12 13 14 15 def is_float(s): s = str(s) if s.count(‘.‘)==1:#判斷小數點個數
sl = s.split(‘.‘)#按照小數點進行分割 left = sl[0]#小數點前面的 right = sl[1]#小數點後面的 if left.startswith(‘-‘) and left.count(‘-‘)==1 and right.isdigit(): lleft = left.split(‘-‘)[1]#按照-分割,然後取負號後面的數字 if lleft.isdigit(): return True
elif left.isdigit() and right.isdigit(): #判斷是否為正小數 return True return False print(is_float(‘-98.9‘))

5、文集以字典形式存儲,刪除文件內容的時候,需要先將指針移到最前面,並且清空之後才可以,再寫入

if p_name in products_dic: #products_dic是存放產品的字典
products_dic.pop(p_name) #刪除一個商品,現在的字典是更新的最新的
fp.seek(0) #將指針移到最前面
fp.truncate() #清空文件裏的所有內容
fp.write(str(products_dic)) #將更新的最新的字典寫到文件裏
print(‘刪除商品成功‘)
6、函數與函數之間是怎麽處理的
  如果函數沒有傳參的話,函數一定要有返回值,返回True或者False,在使用的時候,可以作為條件進行判斷
  如果函數有傳參的數,那麽其他函數使用的時候,可以直接調用函數,根據需要傳入參數
eg:沒有傳參的話,有返回值
def login():
with open(‘users.txt‘) as fr:
fr.seek(0)
user_str = fr.read()
user_dic = eval(user_str)
if username in user_dic:
if pwd == str(user_dic[username][‘passwd‘]):
print("恭喜您登陸成功!")
log("恭喜%s登陸成功!"%username)
return True
else:
print("輸入的密碼有誤!")
return False
else:
print("您輸入的用戶名不存在")
return False

eg:通過傳入的參數,執行函數

import time
def log(nathing):
fl=open(‘log.txt‘, ‘a+‘)
Now_time = time.strftime(‘%Y-%m-%d %H:%M:%S‘)
fl.write(Now_time+‘ ‘+nathing+‘\n‘)
log("商品%s刪除成功!" % p_name)#調用時

7、通過字典,可以更便捷的調用多個函數
choice = input(‘1添加商品,2刪除商品,3查詢商品,4用戶管理,5退出,請輸入你的選擇:‘).strip()
def hh():
print(‘修改商品...‘)
def cc():
print(‘添加商品...‘)
def query():
print(‘查詢商品。。。‘)
def delete():
print(‘刪除商品。。。‘)
menu = {‘1‘: hh,‘2‘: cc,‘3‘: query,‘4‘: delete}
if choice in menu:
menu[choice]()
else:
print(‘請輸入1-5之間的值!‘)
8、判斷文件內容是不是空的:
choice  = input(‘1添加商品,2查詢商品,3退出,請輸入你的選擇:‘).strip()
fp = open(‘products.txt‘, ‘a+‘)
fp.seek(0)
products_str = fp.read()
# 這個是從文件裏面讀出來商品信息,是字符串
if len(products_str):
# 這裏是判斷文件內容是否為空的,如果不為空的話,長度就大於0,就是真
# 一旦走這就說明是有產品
products_dic = eval(products_str)
# 是把讀出來商品信息轉成字典
else:
# 走這裏就說明是沒有商品信息的
products_dic = {} # 存放所有的商品
9、獲取執行時輸入的內容,並判斷文件是否存在
#運行的時候要 python xxx.py hh.txt hehe haha
import sys,os
inputs = sys.argv
# #存的是所有運行時候傳進來的參數
# #它就是用來獲取在用python命令運行python文件的時候,傳入的參數
#1、判斷用戶輸入的是不是夠個數
if len(inputs)<4:
print(‘參數不夠,至少需要3個參數,e.g: python xx.py xx.txt old_str new_str..‘)
else:
file_name = inputs[1]
old_str = inputs[2]
new_str = inputs[3]
new_file_name = file_name+‘.new‘
if os.path.exists(file_name):#用它來判斷文件是否存在
with open(file_name,encoding=‘gbk‘) as fr,open(new_file_name,‘w‘) as fw:
for line in fr:
res = line.replace(old_str,new_str)#替換之後的內容
fw.write(res)
os.remove(file_name)
os.rename(new_file_name,file_name)
else:
print(‘文件不存在‘)

python中的小知識點