鱼C小迷弟丶 发表于 2023-5-14 23:08:53

为什么会报错?

fr = open("‪‪F:/bill.txt", "r", encoding="UTF-8")
OSError: 【Errno 22】 Invalid argument: '\u202a\u202aF:/bill.txt'
fr = open("‪‪F:/bill.txt", "r", encoding="UTF-8")
fw = open("‪‪F:/bill.txt.bak", "w", encoding="UTF-8")
for line in fr:
    line = line.strip()
    if line.split(",")【-1】 == "测试":
      continue
    fw.write(line)
    fw.write("\n")
fr.close()
fw.close()

isdkz 发表于 2023-5-14 23:09:13

这个错误是因为在文件路径中添加了不必要的字符。"\u202a"是左至右标记(LTR),"\u202b"是右至左标记(RTL),"\u202c"是取消标记(POP)。这些字符可能是由于从其他地方复制和粘贴而来。在这种情况下,应该删除这些不必要的字符,只保留文件路径。

正确的代码应该是:

fr = open("F:/bill.txt", "r", encoding="UTF-8")
fw = open("F:/bill.txt.bak", "w", encoding="UTF-8")
for line in fr:
    line = line.strip()
    if line.split(",")[-1] == "测试":
      continue
    fw.write(line)
    fw.write("\n")
fr.close()
fw.close()

鱼C小迷弟丶 发表于 2023-5-14 23:11:03

isdkz 发表于 2023-5-14 23:09
这个错误是因为在文件路径中添加了不必要的字符。"%u202a"是左至右标记(LTR),"%u202b"是右至左标记(RTL ...

依旧报错错误代码是:Traceback (most recent call last):
File "C:/Users/川/Desktop/3.py", line 1, in <module>
    fr = open("F:/bill.txt", "r", encoding="UTF-8")
FileNotFoundError: No such file or directory: 'F:/bill.txt'

isdkz 发表于 2023-5-14 23:38:14

鱼C小迷弟丶 发表于 2023-5-14 23:11
依旧报错错误代码是:Traceback (most recent call last):
File "C:/Users/川/Desktop/3.py", line...

你的F盘根目录下没有 bill.txt 这个文件

yinda_peng 发表于 2023-5-14 23:38:54

鱼C小迷弟丶 发表于 2023-5-14 23:11
依旧报错错误代码是:Traceback (most recent call last):
File "C:/Users/川/Desktop/3.py", line...

你没有这个文件吧{:10_277:}

yinda_peng 发表于 2023-5-14 23:41:05

鱼C小迷弟丶 发表于 2023-5-14 23:11
依旧报错错误代码是:Traceback (most recent call last):
File "C:/Users/川/Desktop/3.py", line...

你这肯定从哪里copy的代码自己都没有这个文件这怎么打开咧

鱼C小迷弟丶 发表于 2023-5-14 23:44:30

本帖最后由 鱼C小迷弟丶 于 2023-5-14 23:50 编辑

fr = open("F:/bill.txt", "r", encoding="UTF-8")
fw = open("F:/bill.txt.bak", "w", encoding="UTF-8")
for line in fr:
    line = line.strip()
    if line.split(",")[-1] == "测试":
      continue
    fw.write(line)
    fw.write("\n")
fr.close()
fw.close()
这是按照你回复的可以操作成功

fr = open("‪‪F:/bill.txt", "r", encoding="UTF-8")
fw = open("‪‪F:/bill.txt.bak", "w", encoding="UTF-8")
for line in fr:
    line = line.strip()
    if line.split(",")[-1] == "测试":
      continue
    fw.write(line)
    fw.write("\n")
fr.close()
fw.close()
这是我写的 会报错
为啥啊

isdkz 发表于 2023-5-14 23:46:33

鱼C小迷弟丶 发表于 2023-5-14 23:44
这两组代码有啥不同

截图没有传上来,你要先点开高级模式再点击图片的图标,输入地址那个只能输网络地址

你也用 snipaste?{:10_256:}

鱼C小迷弟丶 发表于 2023-5-14 23:51:43

isdkz 发表于 2023-5-14 23:46
截图没有传上来,你要先点开高级模式再点击图片的图标,输入地址那个只能输网络地址

你也用 snipast ...

最上面图片的是你回复的 我操作成功了下面是我写的 就报错 为啥啊

歌者文明清理员 发表于 2023-5-14 23:53:00

这个是多余的不可见字符,在html中复制后最为常见。
不可见字符会导致程序判断出故障。
使用pycharm的话,不可见字符会显示一些奇奇怪怪的东西;vscode,不可见字符会显示警告

isdkz 发表于 2023-5-14 23:54:36

鱼C小迷弟丶 发表于 2023-5-14 23:51
最上面图片的是你回复的 我操作成功了下面是我写的 就报错 为啥啊

这两个代码不是一模一样的吗?

鱼C小迷弟丶 发表于 2023-5-14 23:55:29

isdkz 发表于 2023-5-14 23:54
这两个代码不是一模一样的吗?

是啊 问题就在这你的可以操作成功 我写的就不行

isdkz 发表于 2023-5-14 23:57:35

鱼C小迷弟丶 发表于 2023-5-14 23:55
是啊 问题就在这你的可以操作成功 我写的就不行

你的那个路径应该是在属性那里复制出来的,里面会带上一个特殊字符

鱼C小迷弟丶 发表于 2023-5-14 23:59:16

isdkz 发表于 2023-5-14 23:57
你的那个路径应该是在属性那里复制出来的,里面会带上一个特殊字符

靠谱 我刚也发现了
页: [1]
查看完整版本: 为什么会报错?