php代码转python_python轻松实现代码编码格式转换

#!/usr/bin/python

# -*- coding: utf-8 -*-

#Filename:changeEncode.py

import os

import sys

def ChangeEncode(file,fromEncode,toEncode):

try:

f=open(file)

s=f.read()

f.close()

u=s.decode(fromEncode)

s=u.encode(toEncode)

f=open(file,"w");

f.write(s)

return 0;

except:

return -1;

def Do(dirname,fromEncode,toEncode):

for root,dirs,files in os.walk(dirname):

for _file in files:

_file=os.path.join(root,_file)

if(ChangeEncode(_file,fromEncode,toEncode)!=0):

print "[转换失败:]"+_file

else:

print "[成功:]"+_file

def CheckParam(dirname,fromEncode,toEncode):

encode=["UTF-8","GBK","gbk","utf-8"]

if(not fromEncode in encode or not toEncode in encode):

return 2

if(fromEncode==toEncode):

return 3

if(not os.path.isdir(dirname)):

return 1

return 0

if __name__=="__main__":

error={1:"第一个参数不是一个有效的文件夹",3:"源编码和目标编码相同",2:"您要转化的编码不再范围之内:UTF-8,GBK"}

dirname=sys.argv[1]

fromEncode=sys.argv[2]

toEncode=sys.argv[3]

ret=CheckParam(dirname,fromEncode,toEncode)

if(ret!=0):

print error[ret]

else:

Do(dirname,fromEncode,toEncode)

脚本很简单,使用也很简单

复制代码 代码如下:

./changeEncode.py target_dir fromEncode toEncode

这里要注意下,几种常见编码的关系:

us-ascii编码是utf-8编码的一个子集,这个是从stackoverflow上得到的,原文如下ASCII is a subset of UTF-8, so all ASCII files are already UTF-8 encoded,

我试了下确实是的,在不加汉字的时候显示编码为us-ascii,加了汉字之后,变为utf-8。

还有就是ASNI编码格式,这代表是本地编码格式,比如说在简体中文操作系统下,ASNI编码就代表GBK编码,这点还需要注意

还有一点就是一个在linux下查看文件编码格式的命令是:

网友评论

文明上网理性发言,请遵守 新闻评论服务协议我要评论

user_avatar.jpg

立即提交

专题推荐5d1ef1e9e866e635.jpg独孤九贱-php全栈开发教程

全栈 100W+

主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门

5d1ef236ca878949.jpg玉女心经-web前端开发教程

入门 50W+

主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门

5d1ef2477c7d7587.jpg天龙八部-实战开发教程

实战 80W+

主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将PHP代码换为Python代码,有一些注意事项需要考虑。 首先,PHPPython之间有一些语法和功能上的差异,因此不能直接将PHP代码换成Python代码行。你需要根据代码的功能和逻辑来进行相应的换。 在换过程,可以使用一些相似的函数和语法来实现相同的功能。例如,PHP的str_repeat函数可以使用Python的字符串乘法来实现相同的效果。 另外,PHP文件和Python文件对于字符串的处理方式也有些区别。在PHP,字符串的编码一般以文件编码格式为准,而Python需要在文件头声明字符串的编码格式,比如使用# coding: utf-8来指定使用utf-8编码。 因此,在将PHP代码换为Python代码时,需要根据具体情况进行相应的调整和修改。可以参考相似的语法和函数,同时注意字符串编码的处理方式。最好通过测试和调试来确保换后的Python代码能够正确运行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [php python-10分钟从PHPPython](https://blog.csdn.net/weixin_37988176/article/details/109416474)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值