Python3 os模組對目錄操作

2021-10-16 16:56:54 字數 3667 閱讀 1205

import os

from os.path import join

for root,

dir, files in os.walk(

'/var/log'):

#os.walk

#print(root) # 檢視路徑

print

(dir

)# 檢視名稱

print

(files)

for name in files:

print

(join(root, name)

)# 拼接

要求:

1,生成乙個大檔案ips.txt,要求1200行,每行隨機為172.25.254.0/24段的ip;

2,讀取ips.txt統計這個檔案中ip出現排名前10的ip

import random

import ipaddress

"""def decorator(func):

func(*args, **kwargs) # 接收引數net4

"""res =

res1 =

res2 =

#@decorator

defip_hosts

(filename, net4)

:for i in net4.hosts():

str(i)

)with

open

(filename,

'w+'

)as f1:

for x in

range

(1200):

if x >

1200

: exit(

)else

: ip_hosts(net4=ipaddress.ip_network(

'172.25.254.0/24'))

ip = random.choice(res)

f1.write(

(ip)

+'\n'

) f1.seek(0)

print

(f1.read())

defsorted_by_ip

(filename, count=10)

:with

open

(filename)

as f2:

for ip in f2:

ip = ip.strip(

)if ip in res2:

res2[ip]+=1

else

: res2[ip]=1

res1 =

sorted

(res2.items(

), key=

lambda x: x[1]

, reverse=

true)[

:count]

return res1

print

(sorted_by_ip(

'ips.txt'

))

要求:

生成100個mac位址並寫入檔案中,mac位址前6位(16進製制)為01-af-3b

01-af-3b-xx

01-af-3b-xx-xx

01-af-3b-xx-xx-xx

01-af-3b-xx-xx-xx-xx

def

creat_mac()

: mac=

'01-af-3b'

hex_num = string.hexdigits

for i in

range(3

):n = random.sample(hex_num,2)

sn =

'_'+

''.join(n)

.upper(

) mac += sn

return mac

defmain()

:with

open

('mac.txt'

,'w'

)as f:

for i in

range

(100):

mac = creat_mac(

) f.write(mac +

'\n'

)else

: exit(

)if __name__ ==

'__main__'

: main(

)

要求:

1,在當前目錄新建目錄img,裡面包含100個檔案,100個檔名個不相同(x4g5.png)

2,將當前目錄所有以.png結尾的字尾名改為.jpg

def

get_code

(len=4

):#生成隨機碼

code_str = string.ascii_letters + string.digits

code =

''for i in

range

(len):

new_s = random.choice(code_str)

code += new_s

# print(code)

return

''.join(random.sample(code_str,

len)

)def

creat_dir()

:#建立檔案與目錄

li =

[get_code(

)for i in

range(5

)]os.mkdir(

'img1'

)for i in li:

os.mknod(

'img1/'

+ i +

'.png'

)else

: exit(

)def

moddify_suffix

(dirname, old_suffix, new_suffix)

:#當前目錄所有以.png結尾的字尾名改為.jpg

pngfile =

filter

(lambda filename: filename.endswith(old_suffix)

, os.listdir(dirname)

)#過濾出png結尾的檔案

basefiles =

[os.path.splitext(filename)[0

]for filename in pngfile]

#分離出不帶結尾的檔案

for filename in basefiles:

oldname = os.path.join(dirname, filename + old_suffix)

newname = os.path.join(dirname, filename + new_suffix)

os.rename(oldname, newname)

#重新命名

)#呼叫函式

python3 os模組 python3 os模組

os模組就是對作業系統進行操作,這個模組提供了一種使用作業系統相關功能的可移植方式。1.系統資訊 posix.uname result sysname linux nodename liangwei test6 release 2.6.32 642.el6.x86 64 version 1 smp ...

python3 os模組筆記

官方模組解釋文件 os 模組可以呼叫系統命令,獲得路徑,獲取作業系統型別等等。在 import os 的時候,建議使用 import os 風格而非 from os import 這樣可以保證隨作業系統不同而有所變化的 os.open 不會覆蓋內建函式 open 兩個函式方法可以檢視 os 的方法和...

python3 os模組學習

os.access 功能 檢查許可權模式 第乙個引數是path,就是檔案或者目錄的路徑,第二個是mode,就是檔案或者目錄的模式,有四種模式 是否存在 os.f ok,是否可讀 os.r ok,是否 可寫 os.w ok,是否可執行 os.x ok os.chdir 第乙個引數為路徑,改變當前目錄 ...