Ⅰ python 獲取當前月份月初日期和月末日期
使用time模塊的time.localtime()獲取當前日期,使用calendar模塊calendar.monthrange的來獲取指定月份的天數。即可得到月初日期和月末日期,代碼如下:
importcalendar
importtime
day_now=time.localtime()
day_begin='%d-%02d-01'%(day_now.tm_year,day_now.tm_mon)#月初肯定是1號
wday,monthRange=calendar.monthrange(day_now.tm_year,day_now.tm_mon)#得到本月的天數第一返回為月第一日為星期幾(0-6),第二返回為此月天數
day_end='%d-%02d-%02d'%(day_now.tm_year,day_now.tm_mon,monthRange)
print('月初日期為:',day_begin,'月末日期為:',day_end)
效果如下:
Ⅱ 如何解析日期與python
Python 程序能用很多方式處理日期和時間,轉換日期格式是一個常見的功能。
Python 提供了一個 time 和 calendar 模塊可以用於格式化日期和時間。
時間間隔是以秒為單位的浮點小數。
每個時間戳都以自從1970年1月1日午夜(歷元)經過了多長時間來表示。
Python 的 time 模塊下有很多函數可以轉換常見日期格式。如函數time.time()用於獲取當前時間戳, 如下實例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import time; # 引入time模塊
ticks = time.time()
print "當前時間戳為:", ticks
以上實例輸出結果:
當前時間戳為: 1459994552.51
時間戳單位最適於做日期運算。但是1970年之前的日期就無法以此表示了。太遙遠的日期也不行,UNIX和Windows只支持到2038年。
什麼是時間元組?
很多Python函數用一個元組裝起來的9組數字處理時間:
序號
欄位
值
0 4位數年 2008
1 月 1 到 12
2 日 1到31
3 小時 0到23
4 分鍾 0到59
5 秒 0到61 (60或61 是閏秒)
6 一周的第幾日 0到6 (0是周一)
7 一年的第幾日 1到366 (儒略歷)
8 夏令時 -1, 0, 1, -1是決定是否為夏令時的旗幟
上述也就是struct_time元組。這種結構具有如下屬性:
序號
屬性
值
0 tm_year 2008
1 tm_mon 1 到 12
2 tm_mday 1 到 31
3 tm_hour 0 到 23
4 tm_min 0 到 59
5 tm_sec 0 到 61 (60或61 是閏秒)
6 tm_wday 0到6 (0是周一)
7 tm_yday 1 到 366(儒略歷)
8 tm_isdst -1, 0, 1, -1是決定是否為夏令時的旗幟
獲取當前時間
從返回浮點數的時間輟方式向時間元組轉換,只要將浮點數傳遞給如localtime之類的函數。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import time
localtime = time.localtime(time.time())
print "本地時間為 :", localtime
以上實例輸出結果:
本地時間為 : time.struct_time(tm_year=2016, tm_mon=4, tm_mday=7, tm_hour=10, tm_min=3, tm_sec=27, tm_wday=3, tm_yday=98, tm_isdst=0)
獲取格式化的時間
你可以根據需求選取各種格式,但是最簡單的獲取可讀的時間模式的函數是asctime():
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import time
localtime = time.asctime( time.localtime(time.time()) )
print "本地時間為 :", localtime
以上實例輸出結果:
本地時間為 : Thu Apr 7 10:05:21 2016
格式化日期
我們可以使用 time 模塊的 strftime 方法來格式化日期,:
time.strftime(format[, t])
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import time
# 格式化成2016-03-20 11:45:39形式
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
# 格式化成Sat Mar 28 22:24:24 2016形式
print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())
# 將格式字元串轉換為時間戳
a = "Sat Mar 28 22:24:24 2016"
print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))
以上實例輸出結果:
2016-04-07 10:25:09
Thu Apr 07 10:25:09 2016
1459175064.0
python中時間日期格式化符號:
%y 兩位數的年份表示(00-99)
%Y 四位數的年份表示(000-9999)
%m 月份(01-12)
%d 月內中的一天(0-31)
%H 24小時制小時數(0-23)
%I 12小時制小時數(01-12)
%M 分鍾數(00=59)
%S 秒(00-59)
%a 本地簡化星期名稱
%A 本地完整星期名稱
%b 本地簡化的月份名稱
%B 本地完整的月份名稱
%c 本地相應的日期表示和時間表示
%j 年內的一天(001-366)
%p 本地A.M.或P.M.的等價符
%U 一年中的星期數(00-53)星期天為星期的開始
%w 星期(0-6),星期天為星期的開始
%W 一年中的星期數(00-53)星期一為星期的開始
%x 本地相應的日期表示
%X 本地相應的時間表示
%Z 當前時區的名稱
%% %號本身
獲取某月日歷
Calendar模塊有很廣泛的方法用來處理年歷和月歷,例如列印某月的月歷:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import calendar
cal = calendar.month(2016, 1)
print "以下輸出2016年1月份的日歷:"
print cal;
以上實例輸出結果:
以下輸出2016年1月份的日歷:
January 2016
Mo Tu We Th Fr Sa Su
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Time 模塊
Time 模塊包含了以下內置函數,既有時間處理相的,也有轉換時間格式的:
序號
函數及描述
1 time.altzone
返回格林威治西部的夏令時地區的偏移秒數。如果該地區在格林威治東部會返回負值(如西歐,包括英國)。對夏令時啟用地區才能使用。
2 time.asctime([tupletime])
接受時間元組並返回一個可讀的形式為"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18時07分14秒)的24個字元的字元串。
3 time.clock( )
用以浮點數計算的秒數返回當前的CPU時間。用來衡量不同程序的耗時,比time.time()更有用。
4 time.ctime([secs])
作用相當於asctime(localtime(secs)),未給參數相當於asctime()
5 time.gmtime([secs])
接收時間輟(1970紀元後經過的浮點秒數)並返回格林威治天文時間下的時間元組t。註:t.tm_isdst始終為0
6 time.localtime([secs])
接收時間輟(1970紀元後經過的浮點秒數)並返回當地時間下的時間元組t(t.tm_isdst可取0或1,取決於當地當時是不是夏令時)。
7 time.mktime(tupletime)
接受時間元組並返回時間輟(1970紀元後經過的浮點秒數)。
8 time.sleep(secs)
推遲調用線程的運行,secs指秒數。
9 time.strftime(fmt[,tupletime])
接收以時間元組,並返回以可讀字元串表示的當地時間,格式由fmt決定。
10 time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
根據fmt的格式把一個時間字元串解析為時間元組。
11 time.time( )
返回當前時間的時間戳(1970紀元後經過的浮點秒數)。
12 time.tzset()
根據環境變數TZ重新初始化時間相關設置。
Time模塊包含了以下2個非常重要的屬性:
序號
屬性及描述
1 time.timezone
屬性time.timezone是當地時區(未啟動夏令時)距離格林威治的偏移秒數(>0,美洲;<=0大部分歐洲,亞洲,非洲)。
2 time.tzname
屬性time.tzname包含一對根據情況的不同而不同的字元串,分別是帶夏令時的本地時區名稱,和不帶的。
日歷(Calendar)模塊
此模塊的函數都是日歷相關的,例如列印某月的字元月歷。
星期一是默認的每周第一天,星期天是默認的最後一天。更改設置需調用calendar.setfirstweekday()函數。模塊包含了以下內置函數:
序號
函數及描述
1 calendar.calendar(year,w=2,l=1,c=6)
返回一個多行字元串格式的year年年歷,3個月一行,間隔距離為c。 每日寬度間隔為w字元。每行長度為21* W+18+2* C。l是每星期行數。
2 calendar.firstweekday( )
返回當前每周起始日期的設置。默認情況下,首次載入caendar模塊時返回0,即星期一。
3 calendar.isleap(year)
是閏年返回True,否則為false。
4 calendar.leapdays(y1,y2)
返回在Y1,Y2兩年之間的閏年總數。
5 calendar.month(year,month,w=2,l=1)
返回一個多行字元串格式的year年month月日歷,兩行標題,一周一行。每日寬度間隔為w字元。每行的長度為7* w+6。l是每星期的行數。
6 calendar.monthcalendar(year,month)
返回一個整數的單層嵌套列表。每個子列表裝載代表一個星期的整數。Year年month月外的日期都設為0;范圍內的日子都由該月第幾日表示,從1開始。
7 calendar.monthrange(year,month)
返回兩個整數。第一個是該月的星期幾的日期碼,第二個是該月的日期碼。日從0(星期一)到6(星期日);月從1到12。
8 calendar.prcal(year,w=2,l=1,c=6)
相當於 print calendar.calendar(year,w,l,c).
9 calendar.prmonth(year,month,w=2,l=1)
相當於 print calendar.calendar(year,w,l,c)。
10 calendar.setfirstweekday(weekday)
設置每周的起始日期碼。0(星期一)到6(星期日)。
11 calendar.timegm(tupletime)
和time.gmtime相反:接受一個時間元組形式,返回該時刻的時間輟(1970紀元後經過的浮點秒數)。
12 calendar.weekday(year,month,day)
返回給定日期的日期碼。0(星期一)到6(星期日)。月份為 1(一月) 到 12(12月)。
Ⅲ python之time模塊
time 模塊常用的信正握與時間相關的類和函數:
time 模塊的 struct_time 類代表一個時間對象,可以通過 索引和屬性名 訪問值。 對應關系如下:
索引 —— 屬性 值
0 —— tm_year(年) 如:1945
1 —— tm_mon(月) 1 ~ 12
2 —— tm_mday(日) 1 ~ 31
3 —— tm_hour(時) 0 ~ 23
4 —— tm_min(分) 0 ~ 59
5 —— tm_sec(秒) 0 ~ 61
6 —— tm_wday(周) 0 ~ 6
7 —— tm_yday(一年內第幾天) 1 ~ 366
8 —— tm_isdst(夏時令) -1、0、1
localtime() 表示當前時間,返回類型為 struct_time 對象 ,示例如下所示:
輸出結果:
time()——返回當前時間的時間戳
gmtime([secs])——將時間戳轉換為格林威治天文時間下的 struct_time,可選參數 secs 表示從 epoch 到現在的秒數,默認為當前時間
localtime([secs])——與 gmtime() 相似,返回當地時間下的 struct_time
mktime(t) localtime() 的反函數
asctime([t]) 接收一個 struct_time 表示的時間,返回形式為:Mon Dec 2 08:53:47 2019 的字元串
ctime([secs]) ctime(secs) 相當於 asctime(localtime(secs))
strftime(format[, t]) 格式化日期,接收一個 struct_time 表示的時間,並返回以可讀字元串表示的當地時間
sleep(secs) 暫停執行調用線程指定的秒數
altzone 本地 DST 時區的偏移量,以 UTC 為單位的秒數
timezone 本地(非 DST)時區的偏移量,UTC 以西的秒數清答(西歐大部分地區為負,美國為正,英國為零)
tzname 兩個字元串的元組:第一個是本地非 DST 時區的名滑慶稱,第二個是本地 DST 時區的名稱
基本使用如下所示:
strftime 函數日期格式化符號說明如下所示:
Ⅳ Python視頻教程,百度雲
[python視頻教程] lets python視頻教程免費下載
鏈接:https://pan..com/s/1YYn_vepCtq3CcKBD-vfnuw
[python視頻教程] lets python 視頻教程|Lets-python-017-文件和輸入輸出01.avi|Lets-python-016-條件和循環02-練習題和生成器.avi|Lets-python-015-條件和循環01.avi|Lets-python-014-映射和集合02.avi|Lets-python-013-映射和集合01.avi|Lets-python-012-序列04-02.
Ⅳ python生成時間列表
python生成桐碼時間列表
yearmonthday = pd.date_range("2020-07-01"森輪唯,"2020-12-31",freq="D").strftime("%Y%m%d").to_list()
month = pd.date_range("2020-07-01","2020-12-31", freq="M" ). strftime("%Y%m") .to_list()
day = pd.date_range("2020-07-01","2020-12-31",freq="D").strftime("此培%d").to_list()
Ⅵ python基礎題 真心求解
sep="|",字元串中間用"|"隔開
end="#",字元串末尾加上"#"
所以第一個顯示Hello|100#,第二個顯示您好,所以是
D.Hello|100#您好
Ⅶ python任意輸入一個月份(1—12),判斷該月份有多少天(不考慮2月份29天的特殊情況)
def month(n):
if n in [1,3,5,7,8,10,12]:
return 31
elif n in [4,6,9,11]:
return 30
elif n in [2]:
return 28
else:
return n, " is not a month"
Ⅷ python數據分析時間序列如何提取一個月的數據
python做數據分析時下面就是提取一個月數據的教程1. datetime庫
1.1 datetime.date
1) datetime.date.today() 返回今日,輸出的類型為date類
import datetime
today = datetime.date.today()
print(today)
print(type(today))
–> 輸出的結果為:
2020-03-04
<class 'datetime.date'>
將輸出的結果轉化為常見數據類型(字元串)
print(str(today))
print(type(str(today)))
date = str(today).split('-')
year,month,day = date[0],date[1],date[2]
print('今日的年份是{}年,月份是{}月,日子是{}號'.format(year,month,day))
–> 輸出的結果為:(轉化為字元串之後就可以直接進行操作)
2020-03-04
<class 'str'>
今日的年份是2020年,月份是03月,日子是04號
2) datetime.date(年,月,日),獲取當前的日期
date = datetime.date(2020,2,29)
print(date)
print(type(date))
–> 輸出的結果為:
2020-02-29
<class 'datetime.date'>
1.2 芹喊datetime.datetime
1) datetime.datetime.now()輸出當前時間,datetime類
now = datetime.datetime.now()
print(now)
print(type(now))
–> 輸出的結果為:(注意秒後面有個不確定尾數)
2020-03-04 09:02:28.280783
<class 'datetime.datetime'>
可通過str()轉化為字元串(和上面類似)
print(str(now))
print(type(str(now)))
–> 輸出的結果為:(這里也可以跟上面的處理類似分別獲得相應的數據,但是也可以使用下面更直接的方法來獲取)
2020-03-04 09:04:32.271075
<class 'str'>
2) 通過自帶的方法獲取年月日,時分秒(這里返回的是int整型數據,注意區別)
now = datetime.datetime.now()
print(now.year,type(now.year))
print(now.month,type(now.month))
print(now.day,type(now.day))
print(now.hour,type(now.hour))
print(now.minute,type(now.minute))
print(now.second,type(now.second))
print(now.date(),type(now.date()))
print(now.date().year,type(now.date().year))
–> 輸出的結果為:(首先注意輸出中倒數第二個還是上面的純檔datetime.date對象,這里是用來做時間對比的,同時除了這里的datetime.datetime有這種方法,datetime.date對象也有。因為此方法獲取second是取的整型數據,自然最後的不確定尾數就被取整處理掉了)
2020 <class 'int'>
3 <class 'int'>
4 <class 'int'>
9 <class 'int'>
12 <class '做首亂int'>
55 <class 'int'>
2020-03-04 <class 'datetime.date'>
2020 <class 'int'>
Ⅸ python 基礎教程
運算
a = 21
b = 10
c = 0
c = a + b
print "1 - c 的值為:", c
c = a - b
print "2 - c 的值為:", c
c = a * b
print "3 - c 的值為:", c
c = a / b
print "4 - c 的值為:", c
c = a % b
print "5 - c 的值為:", c
a = 2
b = 3
c = a**b
print "6 - c 的值為:", c
a = 10
b = 5
c = a//b
print "7 - c 的值為:", c
python比較
a = 21
b = 10
c = 0
if ( a == b ):
print "1 - a 等於 b"
else:
print "1 - a 不等於 b"
if ( a != b ):
print "2 - a 不等於 b"
else:
print "2 - a 等於 b"
if ( a <> b ):
print "3 - a 不等於 b"
else:
print "3 - a 等於 b"
if ( a < b ):
print "4 - a 小於 b"
else:
print "4 - a 大於等於 b"
if ( a > b ):
print "5 - a 大於 b"
else:
print "5 - a 小於等於 b"
a = 5
b = 20
if ( a <= b ):
print "6 - a 小於等於 b"
else:
print "6 - a 大於 b"
if ( b >= a ):
print "7 - b 大於等於 a"
else:
print "7 - b 小於 a"
賦值
a = 21
b = 10
c = 0
c = a + b
print "1 - c 的值為:", c
c += a
print "2 - c 的值為:", c
c *= a
print "3 - c 的值為:", c
c /= a
print "4 - c 的值為:", c
c = 2
c %= a
print "5 - c 的值為:", c
c **= a
print "6 - c 的值為:", c
c //= a
print "7 - c 的值為:", c
邏輯運算符:
a = 10
b = 20
if ( a and b ):
print "1 - 變數 a 和 b 都為 true"
else:
print "1 - 變數 a 和 b 有一個不為 true"
if ( a or b ):
print "2 - 變數 a 和 b 都為 true,或其中一個變數為 true"
else:
print "2 - 變數 a 和 b 都不為 true"
a = 0
if ( a and b ):
print "3 - 變數 a 和 b 都為 true"
else:
print "3 - 變數 a 和 b 有一個不為 true"
if ( a or b ):
print "4 - 變數 a 和 b 都為 true,或其中一個變數為 true"
else:
print "4 - 變數 a 和 b 都不為 true"
if not( a and b ):
print "5 - 變數 a 和 b 都為 false,或其中一個變數為 false"
else:
print "5 - 變數 a 和 b 都為 true"
in,not in
a = 10
b = 20
list = [1, 2, 3, 4, 5 ];
if ( a in list ):
print "1 - 變數 a 在給定的列表中 list 中"
else:
print "1 - 變數 a 不在給定的列表中 list 中"
if ( b not in list ):
print "2 - 變數 b 不在給定的列表中 list 中"
else:
print "2 - 變數 b 在給定的列表中 list 中"
a = 2
if ( a in list ):
print "3 - 變數 a 在給定的列表中 list 中"
else:
print "3 - 變數 a 不在給定的列表中 list 中"
條件
flag = False
name = 'luren'
if name == 'python': # 判斷變數否為'python'
flag = True # 條件成立時設置標志為真
print 'welcome boss' # 並輸出歡迎信息
else:
print name
num = 5
if num == 3: # 判斷num的值
print 'boss'
elif num == 2:
print 'user'
elif num == 1:
print 'worker'
elif num < 0: # 值小於零時輸出
print 'error'
else:
print 'roadman' # 條件均不成立時輸出
循環語句:
count = 0
while (count < 9):
print 'The count is:', count
count = count + 1
print "Good bye!"
i = 1
while i < 10:
i += 1
if i%2 > 0: # 非雙數時跳過輸出
continue
print i # 輸出雙數2、4、6、8、10
i = 1
while 1: # 循環條件為1必定成立
print i # 輸出1~10
i += 1
if i > 10: # 當i大於10時跳出循環
break
for letter in 'Python': # 第一個實例
print '當前字母 :', letter
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 第二個實例
print '當前水果 :', fruit
print "Good bye!"
獲取用戶輸入:raw_input
var = 1
while var == 1 : # 該條件永遠為true,循環將無限執行下去
num = raw_input("Enter a number :")
print "You entered: ", num
print "Good bye!"
range,len
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print '當前水果 :', fruits[index]
print "Good bye!"
python數學函數:
abs,cell,cmp,exp,fabs,floor,log,log10,max,min,mod,pow,round,sqrt
randrange
訪問字元串的值
var1 = 'Hello World!'
var2 = "Python Runoob"
print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]
轉義字元
格式化輸出
print "My name is %s and weight is %d kg!" % ('Zara', 21)
字元串函數:
添加元素
list = [] ## 空列表
list.append('Google') ## 使用 append() 添加元素
list.append('Runoob')
print list
刪除元素
list1 = ['physics', 'chemistry', 1997, 2000]
print list1
del list1[2]
print "After deleting value at index 2 : "
print list1
列表操作
列表方法
刪除字典
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
del dict['Name']; # 刪除鍵是'Name'的條目
dict.clear(); # 清空詞典所有條目
del dict ; # 刪除詞典
print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];
字典的函數:
當前時間戳:
import time
time.time()
格式化日期輸出
import time
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())
a = "Sat Mar 28 22:24:24 2016"
print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))
獲取某個月日歷:calendar
import calendar
cal = calendar.month(2016, 1)
print "以下輸出2016年1月份的日歷:"
print cal
當前日期和時間
import datetime
i = datetime.datetime.now()
print ("當前的日期和時間是 %s" % i)
print ("ISO格式的日期和時間是 %s" % i.isoformat() )
print ("當前的年份是 %s" %i.year)
print ("當前的月份是 %s" %i.month)
print ("當前的日期是 %s" %i.day)
print ("dd/mm/yyyy 格式是 %s/%s/%s" % (i.day, i.month, i.year) )
print ("當前小時是 %s" %i.hour)
print ("當前分鍾是 %s" %i.minute)
print ("當前秒是 %s" %i.second)
不定長參數:*
lambda:匿名函數
def....
python模塊搜索路徑
獲取用戶輸入
str = raw_input("請輸入:")
print "你輸入的內容是: ", str
input可以接收表達式
open參數
write要自己添加換行符
讀取10個字元
重命名:os.rename
os.remove
os.mkdir os.chdir
os.getcwd
os.rmdir
open參數
file的方法
異常:
try:
fh = open("testfile", "w")
fh.write("這是一個測試文件,用於測試異常!!")
except IOError:
print "Error: 沒有找到文件或讀取文件失敗"
else:
print "內容寫入文件成功"
fh.close()
try:
fh = open("testfile", "w")
fh.write("這是一個測試文件,用於測試異常!!")
finally:
print "Error: 沒有找到文件或讀取文件失敗"
用戶自定義異常:
os 模塊提供了非常豐富的方法用來處理文件和目錄。常用的方法如下表所示:
| 序號 | 方法及描述 |
| 1 |
os.access(path, mode)
檢驗許可權模式 |
| 2 |
os.chdir(path)
改變當前工作目錄 |
| 3 |
os.chflags(path, flags)
設置路徑的標記為數字標記。 |
| 4 |
os.chmod(path, mode)
更改許可權 |
| 5 |
os.chown(path, uid, gid)
更改文件所有者 |
| 6 |
os.chroot(path)
改變當前進程的根目錄 |
| 7 |
os.close(fd)
關閉文件描述符 fd |
| 8 |
os.closerange(fd_low, fd_high)
關閉所有文件描述符,從 fd_low (包含) 到 fd_high (不包含), 錯誤會忽略 |
| 9 |
os.p(fd)
復制文件描述符 fd |
| 10 |
os.p2(fd, fd2)
將一個文件描述符 fd 復制到另一個 fd2 |
| 11 |
os.fchdir(fd)
通過文件描述符改變當前工作目錄 |
| 12 |
os.fchmod(fd, mode)
改變一個文件的訪問許可權,該文件由參數fd指定,參數mode是Unix下的文件訪問許可權。 |
| 13 |
os.fchown(fd, uid, gid)
修改一個文件的所有權,這個函數修改一個文件的用戶ID和用戶組ID,該文件由文件描述符fd指定。 |
| 14 |
os.fdatasync(fd)
強制將文件寫入磁碟,該文件由文件描述符fd指定,但是不強制更新文件的狀態信息。 |
| 15 |
os.fdopen(fd[, mode[, bufsize]])
通過文件描述符 fd 創建一個文件對象,並返回這個文件對象 |
| 16 |
os.fpathconf(fd, name)
返回一個打開的文件的系統配置信息。name為檢索的系統配置的值,它也許是一個定義系統值的字元串,這些名字在很多標准中指定(POSIX.1, Unix 95, Unix 98, 和其它)。 |
| 17 |
os.fstat(fd)
返迴文件描述符fd的狀態,像stat()。 |
| 18 |
os.fstatvfs(fd)
返回包含文件描述符fd的文件的文件系統的信息,像 statvfs() |
| 19 |
os.fsync(fd)
強制將文件描述符為fd的文件寫入硬碟。 |
| 20 |
os.ftruncate(fd, length)
裁剪文件描述符fd對應的文件, 所以它最大不能超過文件大小。 |
| 21 |
os.getcwd()
返回當前工作目錄 |
| 22 |
os.getcw()
返回一個當前工作目錄的Unicode對象 |
| 23 |
os.isatty(fd)
如果文件描述符fd是打開的,同時與tty(-like)設備相連,則返回true, 否則False。 |
| 24 |
os.lchflags(path, flags)
設置路徑的標記為數字標記,類似 chflags(),但是沒有軟鏈接 |
| 25 |
os.lchmod(path, mode)
修改連接文件許可權 |
| 26 |
os.lchown(path, uid, gid)
更改文件所有者,類似 chown,但是不追蹤鏈接。 |
| 27 |
os.link(src, dst)
創建硬鏈接,名為參數 dst,指向參數 src |
| 28 |
os.listdir(path)
返回path指定的文件夾包含的文件或文件夾的名字的列表。 |
| 29 |
os.lseek(fd, pos, how)
設置文件描述符 fd當前位置為pos, how方式修改: SEEK_SET 或者 0 設置從文件開始的計算的pos; SEEK_CUR或者 1 則從當前位置計算; os.SEEK_END或者2則從文件尾部開始. 在unix,Windows中有效 |
| 30 |
os.lstat(path)
像stat(),但是沒有軟鏈接 |
| 31 |
os.major(device)
從原始的設備號中提取設備major號碼 (使用stat中的st_dev或者st_rdev field)。 |
| 32 |
os.makedev(major, minor)
以major和minor設備號組成一個原始設備號 |
| 33 |
os.makedirs(path[, mode])
遞歸文件夾創建函數。像mkdir(), 但創建的所有intermediate-level文件夾需要包含子文件夾。 |
| 34 |
os.minor(device)
從原始的設備號中提取設備minor號碼 (使用stat中的st_dev或者st_rdev field )。 |
| 35 |
os.mkdir(path[, mode])
以數字mode的mode創建一個名為path的文件夾.默認的 mode 是 0777 (八進制)。 |
| 36 |
os.mkfifo(path[, mode])
創建命名管道,mode 為數字,默認為 0666 (八進制) |
| 37 |
os.mknod(filename[, mode=0600, device])
創建一個名為filename文件系統節點(文件,設備特別文件或者命名pipe)。
|
| 38 |
os.open(file, flags[, mode])
打開一個文件,並且設置需要的打開選項,mode參數是可選的 |
| 39 |
os.openpty()
打開一個新的偽終端對。返回 pty 和 tty的文件描述符。 |
| 40 |
os.pathconf(path, name)
返回相關文件的系統配置信息。 |
| 41 |
os.pipe()
創建一個管道. 返回一對文件描述符(r, w) 分別為讀和寫 |
| 42 |
os.popen(command[, mode[, bufsize]])
從一個 command 打開一個管道 |
| 43 |
os.read(fd, n)
從文件描述符 fd 中讀取最多 n 個位元組,返回包含讀取位元組的字元串,文件描述符 fd對應文件已達到結尾, 返回一個空字元串。 |
| 44 |
os.readlink(path)
返回軟鏈接所指向的文件 |
| 45 |
os.remove(path)
刪除路徑為path的文件。如果path 是一個文件夾,將拋出OSError; 查看下面的rmdir()刪除一個 directory。 |
| 46 |
os.removedirs(path)
遞歸刪除目錄。 |
| 47 |
os.rename(src, dst)
重命名文件或目錄,從 src 到 dst |
| 48 |
os.renames(old, new)
遞歸地對目錄進行更名,也可以對文件進行更名。 |
| 49 |
os.rmdir(path)
刪除path指定的空目錄,如果目錄非空,則拋出一個OSError異常。 |
| 50 |
os.stat(path)
獲取path指定的路徑的信息,功能等同於C API中的stat()系統調用。 |
| 51 |
os.stat_float_times([newvalue])
決定stat_result是否以float對象顯示時間戳
|
| 52 |
os.statvfs(path)
獲取指定路徑的文件系統統計信息 |
| 53 |
os.symlink(src, dst)
創建一個軟鏈接 |
| 54 |
os.tcgetpgrp(fd)
返回與終端fd(一個由os.open()返回的打開的文件描述符)關聯的進程組 |
| 55 |
os.tcsetpgrp(fd, pg)
設置與終端fd(一個由os.open()返回的打開的文件描述符)關聯的進程組為pg。 |
| 56 |
os.tempnam([dir[, prefix]])
返回唯一的路徑名用於創建臨時文件。 |
| 57 |
os.tmpfile()
返回一個打開的模式為(w+b)的文件對象 .這文件對象沒有文件夾入口,沒有文件描述符,將會自動刪除。 |
| 58 |
os.tmpnam()
為創建一個臨時文件返回一個唯一的路徑 |
| 59 |
os.ttyname(fd)
返回一個字元串,它表示與文件描述符fd 關聯的終端設備。如果fd 沒有與終端設備關聯,則引發一個異常。 |
| 60 |
os.unlink(path)
刪除文件路徑 |
| 61 |
os.utime(path, times)
返回指定的path文件的訪問和修改的時間。 |
| 62 |
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
輸出在文件夾中的文件名通過在樹中遊走,向上或者向下。 |
| 63 |
os.write(fd, str)
寫入字元串到文件描述符 fd中. 返回實際寫入的字元串長度 |
Ⅹ Python中的模塊
import os
print(os.name) # 操作系統名稱 Windows nt 非Windows posix
print(os.sep) # 路徑分隔符 Windows \ 其他 /
import os
# 使用 os.path 方法獲取文件的路徑
# 001.獲取文件的絕對路徑 使用abspath方法
print(os.path.abspath("04_模塊導入.py"))
# 運行結果:D:\mypycharm\pythonProject\千峰培訓\day11mole1\04_模塊導入.py
# 002判斷是否是文件 False
print(os.path.isdir(""))
# 運行結果: False
# 003.判斷文件是否存在如果存在返回True 否則返回False
print(os.path.exists("mydir"))
# True
import os
files = "2020.12.22.test.py"
print(files.rpartition(".")[-1])
print(os.path.splitext(files)[-1])
# 運行結果:
# 獲取文件的後綴名 py
# 獲取文件的後綴名 .py
import os
print(os.getcwd())
# 運行結果:
# D:\mypycharm\pythonProject\培訓\day11mole1
import os
os.chdir("mydir")
print(os.getcwd())
# D:\mypycharm\pythonProject\培訓\day11mole1\mydir
import os
os.rename("66.py","../99.py")
import os
# 001.刪除文件
os.remove("../99.py")
# 002.刪除空文件夾
os.rmdir("../mydir")
os.removedirs("mydir")
import os
os.mkdir("mydir")
import os
# 001.列出指定目錄里所有的子目錄和文件
print(os.listdir("D:\mypycharm\pythonProject"))
# 002.默認當前目錄里的 子目錄和文件
print(os.listdir())
# 運行結果:
# ['.idea', '千峰培訓', '學校實習']
# ['03_mole.py', '04_模塊導入.py', '05_os.py', '2020.12.22.tests.py', 'a01_mole1.py', 'a02_mole2.py', '__pycache__']
import os
print(os.environ)
print(os.environ["PATH"])
import os
import string # 字元串模塊
import random
files = "test.jpg"
# 01.獲取文件的後綴
surffix = os.path.splitext(files)[-1]
# print(surffix) # .jpg
# 02.生成所有大小寫字母的列表
res = list(string.ascii_letters)
# print(string.ascii_letters)
# 運行結果;
# 03.將0-9添加到res中
for i in range(0, 10):
res.append(str(i))
# 04.隨機生成文件名:
mystr = "".join(random.sample(res, 10)) # sample隨機生成10個字元
# print(mystr)
# bJpED6dj2Y
# 05.將文件名和後綴拼接
print(mystr+surffix)
import sys
print(sys.path)
res = sys.stdin
print(res)
import math
# print(math.pi) # 3.141592653589793
print(math.factorial(5)) # 120
# 冪運算 第一個參數是底數 第二個參數是冪
print(math.pow(2, 3)) # 8.0
# 向上取整和向下取整
print(math.floor(15.999)) # 15
print(math.ceil(15.001)) # 16
# 四捨五入
print(round(123.51, 1)) # 123.5
# 三角函數
print(math.sin(math.pi / 6)) # sin(pi/6) 0.49999999999999994
print(math.cos(math.pi / 3)) # sin(pi/3) 0.5000000000000001
print(math.tan(math.pi / 4)) # sin(pi/6) 0.9999999999999999
# 開方
a = 9
b = 16
print(math.sqrt(a+b)) # 5.0
# 以e為底的指數函數
print(math.exp(a))
# 8103.083927575384
import random
# 01.random() 隨機生成[0,1)之間的數 前閉後開
print(random.random()) # 生成[0,1)之間的小數
# 02.randint() 生成范圍內的隨機整數 全閉
print(random.randint(10, 20)) # 生成[10,20]之間的整數
# 03.randrange() 生成范圍內的隨機整數 前閉後開
print(random.randrange(10, 20)) # 生成[10,20)之間的整數
# 04.choice 參數是列表 隨機從列表中取一個 取一次
print(random.choice([1, 2, 3, 4, 5, 6, 77, 8, 9]))
# 05.sample 的第一個參數 必須是一個可迭代對象
# 第二個參數代表著從可迭代對象從隨機選取幾個,選取的對象不能重復
print("".join(random.sample(["a", "b", "c", "d"], 3)))
import datetime as dt # 引入datetime 模塊並將其命別名為dt
import time
import calendar # 引入日歷模塊
# 01.datetime模塊
# 001.獲取當前時間的具體信息
print(dt.datetime.now())
# 運行結果:
# 2020-12-26 15:36:36.408129
# 年 月 日 時 分 秒 毫秒
# 002.創建日期
print(dt.date(2020,1,1))
# 年月日 2020-01-01
# 003.創建時間
print(dt.time(16,30,30))
# 時 分 秒: 16:30:30
# 004.timedelta() 括弧中的默認參數是天
print(dt.datetime.now()+dt.timedelta(3)) # 2020-12-25 15:50:15.811738
print(dt.datetime.now()+dt.timedelta(hours=3)) # 2020-12-22 18:51:41.723093
print(dt.datetime.now()+dt.timedelta(minutes=10)) # 2020-12-22 16:01:41.723093
# 02.time
# 001.當前時間的時間戳
# 時間戳是指從1970—01-01 0:0:0到現在的秒數 utc時間 也叫格林尼治時間
print(time.time())
# 002.按照指定格式輸出時間
# print(time.strftime("%Y-%m-%d %H:%M:%S")) # 2020-12-22 15:57:49
# 時間格式:
# %Y Year with century as a decimal number.
# %m Month as a decimal number [01,12].
# %d Day of the month as a decimal number [01,31].
# %H Hour (24-hour clock) as a decimal number [00,23].
# %M Minute as a decimal number [00,59].
# %S Second as a decimal number [00,61].
# %z Time zone offset from UTC.
# %a Locale's abbreviated weekday name.
# %A Locale's full weekday name.
# %b Locale's abbreviated month name.
# %B Locale's full month name.
# %c Locale's appropriate date and time representation.
# %I Hour (12-hour clock) as a decimal number [01,12].
# %p Locale's equivalent of either AM or PM.
# 003.ctime 和 asctime 時間格式 輸出的時間格式一樣,
# print(time.asctime()) # Tue Dec 22 15:57:49 2020
# print(time.ctime()) # Tue Dec 22 15:58:35 2020
# 004.sleep() 時間休眠
print("我負責浪")
print(time.sleep(3))
print("你負責漫")
# 005.calender 生成日歷
res = calendar.calendar(2021) # 生成2021年的日歷
print(res)
# 006.判斷是否為閏年
print(calendar.isleap(2020)) # True
# 007.從1988年 到 2020年有多少個閏年
print(calendar.leapdays(1988, 2020)) # 8