gpt4 book ai didi

python-3.x - python 3.2 : IOError: [Errno 22] Invalid argument: '/home/pi/data/temp/file1\n.txt'

转载 作者:行者123 更新时间:2023-12-03 18:25:23 26 4
gpt4 key购买 nike

我是python编程的新手。我有一个 counter.txt 文件,我正在从中读取计数器值。使用此计数器值,我必须将新文件创建到其他文件夹中,例如 '/home/pi/data/temp/file%s.txt'%line。
例如:file1.txt、file2.txt 等等..

我为此编写了一些代码,出于某种原因,我遇到了以下错误:

IOError: [Errno 22] Invalid argument: '/home/pi/data/temp/file1\n.txt'

我的python代码如下:
while True:

counter_file = open("counter.txt", 'r+')
line = counter_file.readline()
print(line)
counter_file.close()
file_read = open(r'/home/pi/data/temp/file%s.txt'%line, 'w')
#data_line = line_read.decode("utf-8")
#file_read.write("%s"%data_line)
file_read.close()
counter_file = open("counter.txt", 'w')
line = int(line) + 1
counter_file.write("%s"%line)
counter_file.truncate()
counter_file.close()

当我执行这个时,我得到了这个回溯:
 File "compute1.py", line 24, in <module>
file_read = open(r'/home/pi/data/temp/file%s.txt'%line, 'w')
IOError: [Errno 22] Invalid argument: '/home/pi/data/temp/file1\n.txt'

请在这方面帮助我。
谢谢!

最佳答案

您需要从 line 中删除尾随换行符。多变的。这可以通过调用 .strip() 来完成。在上面。您可以看到文件路径显示为

/home/pi/data/temp/file1\n.txt

当你可能期望它是
/home/pi/data/temp/file1.txt

这是因为您的 counter.txt文件使用 \n作为换行符,所以每一行也以它结尾。当您使用 readline ,它得到包括换行符在内的整行,所以你需要把它去掉。尝试将该行替换为
line = counter_file.readline().strip()

关于python-3.x - python 3.2 : IOError: [Errno 22] Invalid argument: '/home/pi/data/temp/file1\n.txt' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27031726/

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