nhập khẩu
Bạn
nhập khẩu
nốt Rê
nhập khẩu
tập tin zip
nhập khẩu
ChuỗiIO
nhập khẩu
hệ thống
nạp lại
(hệ thống)
sys.setdefaultencoding(
'utf8'
)
đường dẫn tệp
=
r
'/Người dùng/qcq/Tải xuống/hóa đơn'
file_ra
=
r
'/Users/qcq/Downloads/qcq.txt'
mẫu
=
nốt Rê.
biên soạn
(r
'\d+\.\d+'
)
số_điện_thoại_line
=
1
dòng_hóa_đơn_thực
=
7
danh_sách_tên_tệp
=
[]
vì
dirpath, dirnames, tên tập tin
TRONG
os.walk(đường dẫn tệp):
vì
tên_tệp
TRONG
tên tập tin:
nếu như
tên_tệp.kết_thúc(
'.zip'
):
đường dẫn tạm thời
=
os.path.join(dirpath, tên_tệp)
file_name_list.append(temp_path)
đã được sắp xếp
(tên_tệp_danh_sách)
với
mở
(tệp_ra,
'TRONG'
) như f_out:
vì
tập tin zip
TRONG
danh_sách_tên_tệp:
với zipfile.ZipFile(zip_file) là f:
dữ liệu
=
{}
vì
têncủatệpdướizip
TRONG
f.namelist():
đếm
=
1
nội dung
=
StringIO.StringIO(f.read(têncủatệpdướizip))
tổng_tất_cả
=
0.0
vì
đường kẻ
TRONG
Nội dung:
nếu như
đếm > số_điện_thoại_line
Và
đếm < dòng_hóa_đơn_thực:
đếm
+
=
1
Tiếp tục
nếu như
số_điện_thoại_line
=
=
đếm:
số điện thoại
=
dòng.chia(u
':'
)[
1
]
đếm
+
=
1
Tiếp tục
tổng_tất_cả
+
=
tổng hợp
(
bản đồ
(
trôi nổi
, mẫu.findall(dòng)))
dữ liệu[số_điện_thoại.dải()]
=
tổng_tất_cả
f_out.write(tệp_zip
+
'\N'
)
vì
chìa khóa, giá trị
TRONG
đã được sắp xếp
(data.items(), khóa
=
lambda
d:d[
0
]):
f_out.write(khóa
+
':'
+
đường
(giá trị)
+
'\N'
)
nhập khẩu
os,os.path
nhập khẩu
tập tin zip
định nghĩa
zip_dir(tên thư mục,tên tệp zip):
danh sách tập tin
=
[]
nếu như
os.path.isfile(tên thư mục):
filelist.append(dirname)
khác
:
vì
root, dirs, tập tin
TRONG
os.walk(tên thư mục):
vì
tên
TRONG
tập tin:
filelist.append(os.path.join(root, tên))
zf
=
zipfile.ZipFile(tên tệp zip,
"v"
, zipfile.zlib.DEFLATED)
vì
mất
TRONG
danh sách tập tin:
tên cung
=
mất [
chỉ một
(tên thư mục):]
zf.write(tar,tên cung)
zf. đóng()
định nghĩa
giải nén_tệp(tên_tệp_zip, giải nén vào thư mục):
nếu như
không
os.path.exists(giải nén thư mục): os.mkdir(giải nén thư mục,
0777
)
zfobj
=
zipfile.ZipFile(tên tệp zip)
vì
tên
TRONG
zfobj.namelist():
tên
=
tên.thay thế(
'\\',
/
')
nếu như
tên.kết thúc bằng(
'/'
):
os.mkdir(os.path.join(giải nén thư mục, tên))
khác
:
ext_tên_tệp
=
os.path.join(giải nén thư mục, tên)
ext_dir
=
os.path.dirname(tên_tệp_mở_rời)
nếu như
không
os.path.exists(thư mục mở rộng) : os.mkdir(thư mục mở rộng,
0777
)
ra khỏi hồ sơ
=
mở
(tên_tệp_ext,
'wb'
)
outfile.write(zfobj.read(tên))
outfile. đóng()
nếu như
__tên__
=
=
'__chủ yếu__'
:
thư mục zip(r
'E:/python/học'
,r
'E:/python/learning/zip.zip'
)
giải nén tập tin(r
'E:/python/learning/zip.zip'
,r
'E:/python/learning2'
)
Tôi là một lập trình viên xuất sắc, rất giỏi!