为了使用中文需要在py文件的首行添加“#coding:utf-8”,为了方便,我们一次性为我们的工作目录的所有py文件都添加上:
#!/bin/bash
function scandir() {
local cur_dir parent_dir workdir
workdir=$1
cd ${workdir}
if [ ${workdir} = "/" ]
then
cur_dir=""
else
cur_dir=$(pwd)
fi
for dirlist in $(ls ${cur_dir})
do
if test -d ${dirlist};then
cd ${dirlist}
scandir ${cur_dir}/${dirlist} $2
cd ..
else
local filename=$dirlist
if [[ ${filename:(-${#2})} = $2 ]]
then
exist=`cat $filename | sed -n '1p'| grep '#coding:utf-8'`
if [[ -z $exist ]]
then
echo "modifying file:"$filename
sed -i 1'i\#coding:utf-8' $filename
fi
fi
fi
done
}
if test -d $1
then
scandir $1 $2
elif test -f $1
then
echo "you input a file but not a directory,pls reinput and try again"
exit 1
else
echo "the Directory isn't exist which you input,pls input a new one!!"
exit 1
fi
执行如:
./add_utf8.sh /usr/lib/python2.7/dist-packages/nova/ .py
本文介绍了一个bash脚本,用于递归地遍历指定目录下的所有.py文件,并为这些文件添加UTF-8编码声明。该脚本适用于Python源文件的编码统一处理。

被折叠的 条评论
为什么被折叠?



