用python写汉字_为什么python用汉字书写?

在尝试使用Python脚本替换fasta文件的头部信息时,遇到问题。原本应替换为罗马字符的头部信息在输出中变成了汉字。问题在于原始文本读取时发生了字符编码错误,导致非预期的转换。尽管在控制台打印时显示正确,但在写入新文件时出现错误。寻求解决方案。
摘要由CSDN通过智能技术生成

这是我关于堆栈溢出的第一个问题,所以如果我的问题格式不正确,我想先道歉。我不是特别有经验的编码,但我正在努力解决一个具体的问题,我的工作。在

我正在尝试替换一个大的fasta文件的头文件(用于对齐DNA序列)。我有一个包含fasta对齐的txt文件(对齐.txt),其内容如下:>418035201_b1_168_m12_gag__Assembly_8

ATGGGTGCGAGAGCGTCAGTATTAAGTGGGGGAAA......

>418035201_b1_168_m12_gag__Assembly_19

ATGGGTGCGAGAGCGTCAGTATTAAGTGGGGGAAA......

我还有一个包含所需名称的文本文件(新标题.txt),其内容如下:

^{pr2}$

我正在尝试替换对齐.txt包含新标题的文件新标题.txt文件。在

我有一个包含以下内容的python脚本:#!/usr/bin/env python

fasta= open('alignment.txt','r')

newnames= open('newheaders.txt','r')

newfasta= open('newfasta.txt', 'w')

for line in fasta:

if line.startswith('>'):

newname= newnames.readline()

newfasta.write(newname)

else:

newfasta.write(line)

print line

fasta.close()

newnames.close()

newfasta.close()

运行此程序时,我得到以下输出:>418035201_pM_s38_B168_m12_gag_c08_M13F_X00_consensus

䄊䝔䝇䝔䝃䝁䝁䝃䍔䝁䅔呔䅁呇䝇䝇䅇䅁呁䅔䅇䝔䅃䝔䝇䅁䅁䅁呔....

>418035201_pM_s38_B168_m12_gag_c19_M13F_X00_consensus

䄊䝔䝇䝔䝃䝁䝁䝃䍔䝁䅔呔䅁呇䝇䝇䅇䅁呁䅔䅇䝔䅃䝔䝇䝁䅁䅁呔....

“line”正在从罗马字符改为中文字符。它不应该是汉字,我也不知道为什么会这样!在

当“line”被打印到控制台时,它会正确地打印它。一、 eATGGGTGCGAGAGCGTCAGTATTAAGTGGGGGAAAATTAGATGCGTGGGAGAA....

所以我相信这一定和它的写作方式有关。在

如果有人能在这方面帮助我或提供一些见解,我将不胜感激,谢谢。在

[编辑:现在解决。见下文。谢谢大家!]在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值