我有一个带有以下单词'dog cat'的文本文件'index.txt'和另一个带有以下内容的文本文件'dog':“这是文件狗的内容!”
我被要求写一个程序:
- 询问用户包含文件名
的文件的名称- 打开该文件,逐行处理
- 对于每一行,它应该打开第一个文件进行读取,第二个文件用于写入,并将所需数据写入第二个文件。
- 最后,完成后关闭每个文件。
所以程序的运行应该是:
- 请输入文件名:index
...此程序现在应创建一个文件'cat',其内容与'dog'完全相同,但所有大写字母应更改为小写字母和所有非字母字符(例如'。',和'!')应该删除。
到目前为止,这是我的代码:
s = input("Enter a file name: ")+".txt"
try: f = open(s, 'r')
string = open(s, 'r').read()
names = string.split()
g = open(names[0]+".txt", 'r')
h = open(names[1], "w")
for line in g:
s = ""
for ch in line:
if ch.isalpha() or ch==" ":
ch = ch.lower()
s += ch
h.write(s+"\n")
h.close()
g.close()
f.close()
except IOError:
print("Some form of IO error")
except FileNotFoundError:
print("File does not exist")
except PermissionError:
print("A permission error")
当我运行程序时,它一直向我显示IO错误。我把索引文件,狗文件和python程序文件都放在同一个文件夹中,我无法弄清楚如何修复IO错误。或者代码有问题吗?
有人有任何想法吗?