蟒蛇。从.txt文件导入特定字符

时间:2014-04-27 18:13:14

标签: python variables text import character

我有一个.txt文件,其中包含;

A!
B@
C3

等。我想将每个字符作为不同的变量导入,例如最终结果是例如

line1_char1 = "A"
line1_char2 = "!"
line2_char1 = "B"

等。有谁知道如何在python中正确编码?

我想我需要做一些事情;

ci = open("myfile.txt")
line1_char1 = ci.read(1,1)
line1_char2 = ci.read(1,2)
line2_char1 = ci.read(2,1)
ci.close

等。我对此几乎是正确的,我需要做些什么才能使其正常工作?

1 个答案:

答案 0 :(得分:1)

我最喜欢从文件中读取字符的方法是使用类似的列表解析:

f=open(textfile, 'r')
while 1:
    line=f.readline().strip() #this gets rid of the newline character
    if line=='':# if there are no more lines, quit looping
        f.close()
        break
    characters=[line[i] for i in range(len(line))] this splits up every character of the line into its own item in a list.  NOTE THIS WILL INCLUDE SPACES AND PUNCTUATION

至于将这些字符用作变量名,我想你可能想尝试一本字典。对于从文件中读取的每个字符,将该值指定为字典中的键,如此

tempdict=dict()
f=open(textfile, 'r')
while 1:
    x=f.readline().strip()
    if x=='':
        f.close()
        break
    x=[x[i] for i in range(len(x))]
    for node in x:
        tempdict[node]=''

现在您可以通过调用

来调出每个字符
tempdict[charactername]

并分配值或检索值。


更新

characterslist=[]
f=open('putyourtextfilenamehere','r')
while 1:
    x=f.readline().strip()
    if x=='':
        f.close()
        break
    x=[x[i] for i in range(len(x))]
    for j in x:
        characterslist.append(j)

应读取每一行并将字符保存到名为characterslist的列表中