gpt4 book ai didi

python - ‘_io.TextIOWrapper’没有属性 'replace'

转载 作者:行者123 更新时间:2023-11-30 23:09:26 26 4
gpt4 key购买 nike

我对 Python 还很陌生。我正在尝试学习如何创建模块和导入函数,所以这是在两个文件中的原因是因为我在玩弄它。在我看来,这不是问题所在,但我想我应该在其中添加一些背景故事以防相关。

我知道我的格式和变量/文件/模块命名很草率,这本来应该是一次快速的小傻事,但我陷入了困境,现在我着迷了。

基本上,我只想为文件创建一个查找和替换函数,但无论我如何格式化 file.replace(x , x) 函数,我都会遇到这个问题。

FILE 1 - FILEREAD.PY - 读取文件的函数/模块

#!/user/bin/env python3
def readfile(filename):

'''
Function to open a file, format it and read it into
a variable called filename
'''

fobj = open(filename)
for line in fobj:
print(line.rstrip())
return filename
return fobj
fobj.close()

def readnewfile(filename, torep, withrep):

'''
Function to replace strings in file - NOT USED
'''

fobj = open(filename)
for line in fobj:
print(line.strip('\n'))
print (fobj.replace(torep, withrep))
return filename
fobj.close()

文件 2 - REPLACE.PY - 要求输入并替换数据

#!/usr/bin/env python3

import string
from fileread import *

filename = input ('what is the path to the file you want to read: ')
readfile(filename)
print ('Read file ', filename)
torep = input ('What word would you lke to replace: ')
withrep = input ('What word would you lie to replace it with: ')

print ('''





''')

#readnewfile(filename, torep, withrep)

#with open(filename) as temp:
change = open(filename).replace(torep, withrep)
print(change)

最佳答案

您的异常来自以下行:

change = open(filename).replace(torep, withrep)

您正在调用文件对象(从 open 返回)上不存在的 replace 方法。我怀疑您想调用字符串具有的 replace 方法。尝试:

change = open(filename).read().replace(torep, withrep)

这会调用 read() 将文件内容作为单个字符串读入,然后对该字符串调用 replace

将操作分成几行可能是个好主意,但我将其保留在您当前拥有的相同结构中。您的代码中还有许多其他可以改进的地方(例如,像您开始做的那样使用 with ),但我认为上面的问题是目前让您陷入困境的问题.

关于python - ‘_io.TextIOWrapper’没有属性 'replace',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31214938/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com