Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.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
Python3-需要制作一个程序,该程序将R/W一个文本文件,并显示新文件中的字符量_Python_Python 3.x - Fatal编程技术网

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

Python3-需要制作一个程序,该程序将R/W一个文本文件,并显示新文件中的字符量,python,python-3.x,Python,Python 3.x,我需要做一个程序,它会问用户他们想把什么.txt文件重写成一个新文件,新文件名应该是什么+新文件必须全部大写。同样,在这样做之后,程序必须在新文件中显示符号(字符)的数量 f1询问他们要重新写入的文件的名称 询问新名称应该是什么 #xxxxxxxxxxxx f1 = input("xxxxxxxxxxx xxxxxxxxxxxx (xxxxxxxxxx: ):") f2 = input("xxxxxxxxxxxxxxxxxxxxxx (xxxxxxxx: ):") #xxxxxxxxxxxxx

我需要做一个程序,它会问用户他们想把什么.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()
确实如此

这就是我得到的错误:

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))