我写了一个小python程序作为个人实用程序来帮助我进行一些重构.它类似于unix替换,除了它支持正则表达式并对目录中的所有文件和(可选)所有子目录进行操作.
问题是我没有替换到位.我打开文件,将内容传递到内存,然后覆盖文件,如下所示:
file = open('path/to/file','r')
in_string = file.read()
file.close()
# ...
#Processing logic
# ...
file = open('path/to/file','w')
file.write(out_string)
file.close()
Run Code Online (Sandbox Code Playgroud)
除了显而易见的性能/内存问题,这是合法的,但对我的使用并不是一个问题,这个方法还有另一个缺点.SVN吓坏了.事后我可以做一些复制和粘贴解决方法来修复svn在提交时抛出的校验和错误,但它使得实用程序毫无意义.
有一个更好的方法吗?我猜测如果我正在编辑文件就不存在任何问题.我该怎么做?
我怀疑问题是你实际上编辑了错误的文件.独立的-当你只是修改您的跟踪文件的Subversion不应该提高对校验和任何错误怎么要修改它们.
也许你不小心编辑了.svn目录中的文件?在.svn/text-base,Subversion使用相同的名称和扩展名存储您的文件的副本,请.svn-base确保您没有编辑那些!
| 归档时间: |
|
| 查看次数: |
2535 次 |
| 最近记录: |