python3需要制作一个程序,该程序将R/W一个文本文件并在新fi中显示字符的数量

2024-09-30 04:29:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要做一个程序,它会问用户什么.txt文件,他们想重写成一个新的文件,新文件名应该是什么+新文件必须在所有大写。同样在这样做之后,程序必须在新文件中显示符号(字符)的数量

f1询问要重写的文件的名称

询问新名字应该是什么

#xxxxxxxxxxxx
f1 = input("xxxxxxxxxxx xxxxxxxxxxxx (xxxxxxxxxx: ):")
f2 = input("xxxxxxxxxxxxxxxxxxxxxx (xxxxxxxx: ):")

#xxxxxxxxxxxxxxxxxxxxx
FirstFail = open(f1, 'r')
NewOnes = FirstFail.readlines()

#xxxxxxxxx
Indeed = open(f2, 'w')
Indeed.write((str(NewOnes)).upper())


#xxxxxxxxxxxx
FirstFail.close()

确实如此。关闭()

#xxxxxxxxxxxxx
Sym = open(str(Indeed, 'r'))
print(str.count(start=0, end=len(Sym))) 

这就是我得到的错误:

Sym = open(str(Indeed, 'r'))
TypeError: decoding to str: need a bytes-like object, _io.TextIOWrapper found

现在我知道Nfail的格式是错误的,我需要改变它,但不知道怎么做


Tags: 文件用户程序txtinput错误openf2
1条回答
网友
1楼 · 发布于 2024-09-30 04:29:02

最后两行没有意义:

Sym = open(str(Nfail, 'r'))

tuple(file handle,'r')传递到open

print(str.count(start=0, end=len(Sym)))

尝试在没有对象的情况下调用方法count,并传递len(Sym),因为Sym是一个文件句柄

我会这样重写:

with open(f2, 'r') as Sym:
    print(len(Sym.read()))

也不需要读取文件来获得大小,只需执行以下操作:

print(os.path.getsize(f2))

(由于\r\n=>\n转换,但这是获得文件大小的最快方法:文件甚至不被读取)

相关问题 更多 >

    热门问题