Python3-需要制作一个程序,该程序将R/W一个文本文件,并显示新文件中的字符量
我需要做一个程序,它会问用户他们想把什么.txt文件重写成一个新文件,新文件名应该是什么+新文件必须全部大写。同样,在这样做之后,程序必须在新文件中显示符号(字符)的数量 f1询问他们要重新写入的文件的名称 询问新名称应该是什么Python3-需要制作一个程序,该程序将R/W一个文本文件,并显示新文件中的字符量,python,python-3.x,Python,Python 3.x,我需要做一个程序,它会问用户他们想把什么.txt文件重写成一个新文件,新文件名应该是什么+新文件必须全部大写。同样,在这样做之后,程序必须在新文件中显示符号(字符)的数量 f1询问他们要重新写入的文件的名称 询问新名称应该是什么 #xxxxxxxxxxxx f1 = input("xxxxxxxxxxx xxxxxxxxxxxx (xxxxxxxxxx: ):") f2 = input("xxxxxxxxxxxxxxxxxxxxxx (xxxxxxxx: ):") #xxxxxxxxxxxxx
#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()
确实如此
这就是我得到的错误:
Sym = open(str(Indeed, 'r'))
TypeError: decoding to str: need a bytes-like object, _io.TextIOWrapper found
现在我知道Nfail格式错误,我需要以某种方式更改它,但不知道如何更改。最后两行没有意义:
Sym = open(str(Nfail, 'r'))
将元组(文件句柄,'r')
传递到打开
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
转换,您在windows上可能会有一点不同,但这是获得文件大小的最快方法:文件甚至不被读取)打开(str(Nfail,'r'))
打开(f2,'r')
Nfail
是句柄,不是文件名我得到的错误是:TypeError:type'\u io.TextIOWrapper'的对象没有len(),这是下一个错误:str.count(start=0,end=len(Sym))
没有意义。你想做什么。噢,哇,我忽略了这一点,但我正在尝试将新f2文件中的字符数以打开(f2,'r')的形式打印为Sym:print(len(Sym.read()))这确实有效,另一部分打印(os.path.getsize(f2))对我不起作用,因为我遇到了一个未定义的操作系统错误。谢谢你的回复。
print(os.path.getsize(f2))