浙江省高等学校教师教育理论培训

微信搜索“教师资格证岗前培训”小程序

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Remove the .pyc files from current directory tree and from svn « Python recipes « ActiveState Code

0

I had mistakenly checked in .pyc files into svn, So I took this approach of deleting all the .pyc files in the current working copy directory tree and then using svn remove to the remove from the repository. The following is the snippet I wrote then to for the purpose.

Python, 31 lines
Copy to clipboard
 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
# Remove .pyc files from svn from the current directory tree.

import os
import subprocess

# Delete the files first.

for dirpath, dirnames, filenames in os.walk(os.getcwd()):
    for each_file in filenames:
        if each_file.endswith('.pyc'):
            if os.path.exists(os.path.join(dirpath, each_file)):
                os.remove(os.path.join(dirpath, each_file))

# Now, get the svn status and remove the deleted files.

cout, cerr  = subprocess.Popen('svn status .', shell=True,
                                   stdin=subprocess.PIPE,
                                   stdout=subprocess.PIPE,
                                   stderr=subprocess.PIPE).communicate()
files = cout.split('\n')
output = []

for fname in files:
    if fname.startswith('!'):
        output.append(fname.strip('!').strip())

for each in output:
    try:
        os.system('svn remove ' + each)
    except Exception, e:
        print e
posted on 2013-01-10 10:27  lexus  阅读(323)  评论(0编辑  收藏  举报