想在文件开头加一句话,并且不覆盖原来的内容
时间: 2024-03-11 11:48:51 浏览: 8
你可以使用Python中的文件读写操作,在读取原文件内容之后,在新的内容前加入你想要添加的句子,然后再将修改后的内容写入原文件。具体可以参考以下代码:
```python
# 打开文件,以读取和写入的方式打开
with open('file.txt', 'r+') as f:
# 读取原文件内容
content = f.read()
# 将光标移到文件开头
f.seek(0, 0)
# 在新的内容前加入你想要添加的句子
f.write('你想加入的句子' + '\n' + content)
```
注意要以 `r+` 的方式打开文件,这样才能读取和写入文件。另外,添加的句子需要加上换行符 `\n`,否则会与原来的内容连在一起。
相关问题
c语言想在文件开头加一句话,并且不覆盖原来的内容
在C语言中,操作文件需要使用标准库中的文件操作函数。要在文件开头加入一句话,可以先将原文件内容读入内存,然后在新的内容前加入你想要添加的句子,最后将修改后的内容写回原文件中。具体可以参考以下代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 1024
int main() {
char buffer[MAX_SIZE];
FILE *fp;
char *filename = "file.txt";
char *new_content = "你想加入的句子\n";
// 读取原文件内容
fp = fopen(filename, "r");
if (fp == NULL) {
perror("Error opening file");
return EXIT_FAILURE;
}
fgets(buffer, MAX_SIZE, fp);
fclose(fp);
// 在新的内容前加入你想要添加的句子
char *content = malloc(strlen(new_content) + strlen(buffer) + 1);
if (content == NULL) {
perror("Error allocating memory");
return EXIT_FAILURE;
}
strcpy(content, new_content);
strcat(content, buffer);
// 将修改后的内容写回原文件中
fp = fopen(filename, "w");
if (fp == NULL) {
perror("Error opening file");
return EXIT_FAILURE;
}
fputs(content, fp);
fclose(fp);
free(content);
return EXIT_SUCCESS;
}
```
注意要以 `"r"` 的方式打开文件,这样才能读取文件内容。另外,添加的句子需要加上换行符 `\n`,否则会与原来的内容连在一起。
python写入txt文件的第一行,并不覆盖原有内容
你可以使用以下代码来向一个已经存在的文本文件中的第一行添加新的内容,而不会覆盖原有内容:
```python
with open('example.txt', 'r+') as file:
content = file.read()
file.seek(0, 0)
file.write('New content\n' + content)
```
这个例子中,我们使用了`'r+'`模式打开文件,这表示以读写模式打开文件。`file.read()`方法可以读取整个文件的内容,`file.seek(0, 0)`将文件指针移动到文件开头,然后我们使用`file.write()`方法向文件中写入新的内容,新的内容被放在原有内容的前面。注意,如果文件不存在,这个代码会抛出一个`FileNotFoundError`异常,因此你需要确保文件已经存在。