Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String Python3将非英语字符转换为英语字符_String_Python 3.x_Utf 8_Char_Non English - Fatal编程技术网

String Python3将非英语字符转换为英语字符

String Python3将非英语字符转换为英语字符,string,python-3.x,utf-8,char,non-english,String,Python 3.x,Utf 8,Char,Non English,我有一个文本文件,我读取文件,经过一些操作,我把这些行放到另一个文件中。但输入文件有一些土耳其语字符,如“İ,Ö,Ü,Ş,Ğ”。我希望将这些字符转换为英文字符,因为当我以UTF-8编码打开文件时,这些字符不会显示。我的代码如下: for i in range (len(singleLine)): if singleLine[i] == "İ": singleLine.replace(singleLine[i:i+1],"I") if sin

我有一个文本文件,我读取文件,经过一些操作,我把这些行放到另一个文件中。但输入文件有一些土耳其语字符,如“İ,Ö,Ü,Ş,Ğ”。我希望将这些字符转换为英文字符,因为当我以UTF-8编码打开文件时,这些字符不会显示。我的代码如下:

for i in range (len(singleLine)):
        if singleLine[i] == "İ":
            singleLine.replace(singleLine[i:i+1],"I")
        if singleLine[i] == "Ü":
            singleLine.replace(singleLine[i:i + 1], "U")
        if singleLine[i] == "Ö":
            singleLine.replace(singleLine[i:i + 1], "O")
        if singleLine[i] == "Ç":
            singleLine.replace(singleLine[i:i + 1], "C")
        if singleLine[i] == "Ş":
            singleLine.replace(singleLine[i:i + 1], "S")
        if singleLine[i] == "Ğ":
            singleLine.replace(singleLine[i:i + 1], "G")
    return singleLine
但该代码无法识别输入文件中的这些土耳其字符,并且无法在不进行任何操作的情况下将其放入输出文件


如何识别这些字符?对于基于ASCII码的搜索或类似的搜索,有什么特殊的方法吗?

str
实例是不可变的,因此
str.replace()
不会就地操作,而是返回结果

但是

如评论中所述:

我使用这种方法是因为:

choices = {"İ":"I", "ş" : "s"...}
        singleLine = singleLine.replace(singleLine[i:i+1],choices.get(singleLine[i],singleLine[i]))

问题解决了。

谢谢。我在下面的帖子中解决了这个问题,感谢你的第一句评论。
choices = {"İ":"I", "ş" : "s"...}
        singleLine = singleLine.replace(singleLine[i:i+1],choices.get(singleLine[i],singleLine[i]))