首页 > 编程语言 > 详细

流暢的python學習-3

时间:2020-04-24 10:39:57      阅读:72      评论:0      收藏:0      [点我收藏+]

一、文件操作

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Thu Apr 23 20:59:49 2020

@author: root
"""


import os
import fnmatch


# example
for f_name in os.listdir(/tmp/some_directory):
    if fnmatch.fnmatch(f_name, *.txt):
       print (f_name)
       
       
# 例如,在UNIX shell中使用 mv *.py python_files 移动所有 .py 扩展名 的文件
# 从当前目录到 python_files 。这 * 是一个通配符表示任意数量的字符,*.py 
# 是一个全模式。Windows操作系统中不提供此shell功能。
# 但 glob 模块在Python中添加了此功能,使得Windows程序可以使用这个特性。
# 这里有一个使用 glob 模块在当前目录下查询所有Python代码文   

import glob
print (glob.glob(*.py))  


for name in glob.glob(*[0-9]*.txt):
    print (name)
    
    
    
import os
# data_file = ‘/tmp/some_directory/demo1.txt‘ 
# if os.path.is_file(data_file):
#    os.remove(data_file)
# else:
#     print (f‘Error: {data_file} not a valid filename‘)
    
    
    
# f = open(‘/tmp/some_directory/demo1.txt‘,‘rb+‘)
# print(f.read()) ##直接打印出来
# print(f.readline()) ##打印第一行 
# print(f.readlines()) 
# print(f.readline(),end=‘‘)
# print(f.readlines(),end=‘‘)
# print([line.strip() for line in f.readlines()])
# f.write(‘python 8888888888‘)
# f.close()









import string
import random
def create_mac():
    mac=01-AF-3B
    for i in range(3):
        n=random.sample(string.hexdigits,2)
        sn=-+‘‘.join(n).upper()
        mac+=sn
    return mac    


with open(\tmp\some_directory\demo9.txt,w+) as f:
    for i in range(100):
        mac=create_mac()
        print (mac)
        f.write(mac+\n)
    f.close()
        
        

with open(\tmp\some_directory\demo9.txt) as f:        
#使用这种文件的打开方式更加简单了,同时可以避免忘记关闭文件的情况
    print(9999999999999999,f.read())

 

技术分享图片

 

 

 

在现代Python版本中,可以使用 os.scandir() 和 pathlib.Path 来替代 os.listdir() 。

os.scandir() 在Python 3.5 中被引用,其文档为 PEP 471 。

os.scandir() 调用时返回一个迭代器而不是一个列表。

import os
entries = os.scandir(my_directory)
print(entries)



ScandirIterator 指向了当前目录中的所有条目。你可以遍历迭代器的内容,并打印文件名。

import os
with os.scandir(my_directory) as entries:
    for entry in entries:
        print(entry.name)

 

流暢的python學習-3

原文:https://www.cnblogs.com/1314520xh/p/12765074.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!