将文本文件添加到我的代码的开头会导致解析错误

Guy*_*ito 2 c# python eof

我正在使用这个python脚本在我所有的C#脚本的开头添加版权spiel

import re
import shutil
import os

copyrightloc =  'C:/DATA/pyscripts/copyright.txt'
rootdir = 'C:/DATA/pyscripts/02_CODE'
dstdir = 'C:/DATA/pyscripts/codecopy'

spielfile =  open(copyrightloc, "r") 
spiel = spielfile.read() 

for subdir, dirs, files in os.walk(rootdir):
    for file in files:
        if file.endswith(".cs"):
            with open(subdir+'/'+file, "r+") as codefile ,  open(dstdir+'/'+file, 'w') as destfile:
                destfile.write(spiel+'\n' + codefile.read())
Run Code Online (Sandbox Code Playgroud)

如您所见,我将原始字符串添加到版权字符串并将其写入新文件.

文件在完成后看起来很好但在每个文件中,在原始文件的第一行,我得到一个解析错误.例如,下面显示了版权所有末尾的新文件和原始文件开头的exerpt ...

          BLAH BLAH BLAH COPYRIGHT
  * OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
  * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
  * CONTRACT, NEGLIGENCE, TORT OR OTHERWISE, ARISING OUT OF OR IN
  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE OR ITS DERIVATIVES.
  */


using UnityEngine;   [!!!ERROR IS SHOWN ON THIS LINE!!!]
using System.Collections;

public class Floop : MonoBehaviour {

    public rot glorb;
    public GameObject foo;

              BLAH BLAH BLAH MY CODE
Run Code Online (Sandbox Code Playgroud)

我猜这里有一些看不见的字符,比如"文件结束"或其他东西,但是当我选择"显示所有字符"时,我在记事本++中看不到任何内容...如果我去问题行的开头并点击删除错误消失..我怎样才能使我的python脚本避免这个问题?

nor*_*ben 5

MSDN C#风格指南说,你不应该使用周围的意见星号的块.您可以尝试为版权的每一行添加前缀//吗?

或者,您可以使用此格式(注意每行开头没有星号):

/*
copyright here
*/
Run Code Online (Sandbox Code Playgroud)