def writeToFile(array,filename): #”w"代表着每次运行都覆盖内容 with open(filename,"w") as file: if len(array.shape)==1: # 一维矩阵 for i in range(array.shape[0]): file.write(str(array[i]) +"\n") else:# 二维矩阵 for i in range(array.shape[1]): for j in range(array.shape[0]): file.write(str(array[j,i])+" ") file.write("\n") file.close()
时间: 2024-01-06 12:03:39 浏览: 27
这段代码是一个将数组写入文件的函数。函数的输入包括一个数组和一个文件名,输出是将该数组写入到指定文件中。
函数首先打开指定文件,并使用 "w" 模式打开它,这意味着每次运行都会覆盖文件中的任何内容。然后,函数检查输入数组的维数。如果数组是一维的,它会遍历数组并将每个元素写入文件中,每个元素占一行。如果数组是二维的,它将遍历每个列和行,并将每个元素写入文件中,每个行占一行,每个元素之间用空格分隔。
最后,函数关闭文件并结束。
相关问题
def writeToFile(array,filename,mode="w"): #”w"代表着每次运行都覆盖内容 with open(filename,mode) as file: if len(array.shape)==1: # 一维矩阵 for i in range(array.shape[0]): file.write(str(array[i]) +"\n") else:# 二维矩阵 for i in range(array.shape[1]): for j in range(array.shape[0]): file.write(str(array[j,i])+" ") file.write("\n") file.close()
这段代码是用来将数组写入文件中的函数。它的参数包括一个数组、一个文件名和一个模式,其中模式默认为“w”,表示每次写入都会覆盖原有内容。该函数会根据数组的维度来判断是一维还是二维矩阵,并将其写入文件中。如果是一维矩阵,每个元素占一行;如果是二维矩阵,每行的元素用空格隔开,每行占一行。最后,函数会关闭文件。
* @Filename: ex801.c @Author: Ju Chengdong @Version: 1.0 @Date: 2021-03-18 @Description: File Character Reading and Writing */ #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc,char *argv[]){ /*(1)声明函数及变量*/ int writeToFile(char *str, char *fileName, char *mode); char str[100]; char fileName[] = "ex801.txt"; /*(2)获取键盘输入字串*/ fgets(str, 100, stdin); //gets(str); //将回车看作字串输入结束标志,字串中可以有空格 //scanf("%s", str); //将空格看作字串输入结束标志,字串中不能有空格 /*(3)将字串写入文件*/ int charNum = writeToFile(str, fileName, "w"); if(charNum < 0){ //printf("write error");//用于调试 return -1; } return 0; } /* * 函数名称:writeToFile * 函数功能:将字串写入文件 * 形式参数:char *str,一维字符数组(字符串)首地址 * 形式参数:char *fileName,待写入的文件路径及名称 * 形式参数:char *mode,文件使用方式 * 返 回 值:int型,若文件打开异常,返回 -1;否则返回写入到文件的字符数 */ int writeToFile(char *str, char *fileName, char *mode){ // 请编程实现本函数 }
本程序实现了将用户输入的字符串写入到指定文件中。下面是函数 `writeToFile()` 的实现:
```
int writeToFile(char *str, char *fileName, char *mode){
/* 打开文件 */
FILE *fp;
if ((fp = fopen(fileName, mode)) == NULL) {
printf("Failed to open file %s", fileName);
return -1;
}
/* 写入字符串 */
int charNum = fprintf(fp, "%s", str);
/* 关闭文件 */
fclose(fp);
return charNum;
}
```
函数中使用 `fopen()` 函数打开文件,并根据 `mode` 参数的值确定文件使用方式,若文件打开异常则返回 -1。然后使用 `fprintf()` 函数将字符串写入到文件中,并返回写入到文件的字符数。最后使用 `fclose()` 函数关闭文件。
阅读全文