zoukankan      html  css  js  c++  java
  • Python_os、os.path、os.shutil使用案例

     1 import os
     2 import os.path
     3 print(os.path.basename('/Users/c2apple/Desktop/彩屏'))    #获取路径的最后一个组成部分
     4 os.path.exists('test1.txt') #测试文件是否存在
     5 os.rename('data.txt','sample1.txt')    #os.renamme()可以实现文件的改名和移动
     6 print(os.path.exists('shelve_test.dat.db'))
     7 path1='D//mypython_exp//new_test.txt'
     8 print(os.path.dirname(path1))
     9 print(os.path.split(path1)) #切分文件路径和文件名
    10 print(os.path.splitdrive(path1))   #切分文件扩展名
    11 print(os.getcwd()) #返回当前工作目录
    12 print(os.mkdir(os.getcwd()+'//temp')) #创建目录
    13 os.mkdir(os.getcwd()+'//temp1')  #改变当前目录
    14 print(os.getcwd())
    15 print(os.mkdir((os.getcwd()+'//test1')))
    16 print(os.path.commonpath([r'C:windows
    otepad.exe',r'C:windowsssysstem']))
    17 os.rmdir('temp')
    18 import shutil   #导入shutil模块
    19 shutil.copyfile('dir.txt','dir1.txt')    #复制文件
    20 
    21 import os
    22 import stat
    23 import shutil
    24 def remove_readonly(func,path,_):   #定义回调函数
    25     os.chmod(path,stat.S_IWRITE)        #删除文件的只读属性
    26     func(path)
    27 shutil.rmtree('/Users/c2apple/Desktop/xx文件夹',onerror=remove_readonly)   #删除某只读文件夹
    28 #用递归复制文件夹,并忽略扩展名为pyc的文件和以'新'开头的文件和子文件夹:
    29 from shutil import copytree,ignore_patterns
    30 #copytree('/Users/c2apple/Documents/pythonTest','/Users/c2apple/Documents/pythonTest/pythonTest2',ignore_patterns('*','pyc','新'))
    31 
    32 '''
    33 如果需要遍历指定目录下的所有子目录和文件,可以使用递归的方法
    34 '''
    35 import os
    36 def visitDir(path): #path为路径,具体以文件路径为主,示例中路径为'/Users/c2apple/Documents/pythonTest'
    37     if not os.path.isdir(path):
    38         print('Error:',path,'"is not a directory or does not exist')
    39         return
    40     for lists in os.listdir(path):
    41         sub_path=os.path.join(path,lists)
    42         print(sub_path)
    43         if os.path.isdir(sub_path):
    44             visitDir(sub_path)  #递归调用
    45 visitDir('/Users/c2apple/Documents/pythonTest')
    46 
    47 '''
    48 使用os模块的walk()方法进行指定目录的遍历
    49 '''
    50 import os
    51 def visitDir2(path):
    52     if not os.path.isdir(path):
    53         print('Error:',path,'"iss not a directory or does not exits.')
    54         return
    55     list_dirs=os.walk(path)
    56     for root,dirs,files in list_dirs:   #遍历该元组的目录和文件信息
    57         for d in dirs:
    58             print(os.path.join(root,d)) #获取完整路径
    59         for f in files:
    60             print(os.path.join(root,f)) #获取文件的绝对路径
    61 visitDir2('/Users/c2apple/Documents/pythonTest')
    62 
    63 '''
    64 os模块除了用于文件操作和文件的方法之外,os模块还是提供了大量其他方法。例如,system()方法可以用来执行外部程序或系统内置命令,popen()和
    65 startfile()也可以用来启动外部程序。另外,Python标准库subbprocess也提供了大量与进程创建与管理有关的对象,pywin32工具包提供的ShellExecute()
    66 和CreateProcess()函数,这些对象和函数也可以实现启动外部程序的目的,如果对Python标准库ctypes和系统API函数熟悉,也可以直接调用底层API函数
    67 实现更加高阶的功能
    68 '''
    69 import subprocess
    70 h=subprocess.Popen('',executable='C:\windows\notepad.exe')    #打开记事本程序
    71 h.terminate()   #结束进程
    72 h=subprocess.Popen('',executable='C:\windows\notepad.exe')    #打开记事本程序
    73 h.kill()    #结束进程
    74 h=subprocess.Popen('',executable='C:\windows\notepad.exe')    #打开记事本程序
    75 import os
    76 os.startfile(r'C:\windows\notepad.exe')   #打开记事本程序
    77 os.startfile(r'test.py')    #执行Python程序
  • 相关阅读:
    常用正则、正则表达式
    移动端虚拟手机键盘
    如何隐藏滚动条还能实现滚动的功能
    醉盏的第一篇博客-关于title的换行处理
    Mybatis-Generator自动生成Dao、Model、Mapping等相关映射文件(懒人版)
    java学习笔记----@Override的作用
    web项目生成web.xml的两种方式
    angular分页插件tm.pagination二次触发问题解决歪方案
    Ubuntu Server17.10配置静态IP
    cors 的深入细节
  • 原文地址:https://www.cnblogs.com/cmnz/p/7001238.html
Copyright © 2011-2022 走看看