读文件
2024年10月21日
import pandas as pd from hdfs import InsecureClient,Client,HdfsError host = 'http://node0:50070;\ http://node1:50070' fileDir = '/data/nlp/uploads/' fileName = '20190418170826_test01.xlsx' client = Client(host) print(client.list(fileDir))
2024年10月21日
了解了FileChannel是用来读写和映射一个系统文件的 Channel,其实他还有很牛逼的功能就是:跨进程文件锁。
说一个场景有多个进程同时操作某一个文件,并行往文件中写数据,请问如何保证写入文件的内容是正确的?可能有小伙伴说加分布式锁,可以解决问题,但是有点儿重了。
2024年10月21日
在我们日常写程序的过程中,免不了与文件系统打交道,各种开发语言都提供了与文件系统交互的指令函数,比如Python中的os模块,就提供了许多这样的指令函数,今天就以创建文件夹为例,来说一下,如果用的不当,会带来的线程安全问题。
在Python的os模块中,创建文件夹有两种方式,一个是os.mkdir(),另外一个是os.makedirs(),这两个的区别如下:
os.mkdir() 函数:os.mkdir(path, mode=0o777)
2024年10月21日
C 语言不提供对错误处理的直接支持,但是作为一种系统编程语言,它以返回值的形式允许您访问底层数据。在发生错误时,大多数的 C 或 UNIX 函数调用返回 1 或 NULL,同时会设置一个错误代码 errno,该错误代码是全局变量,表示在函数调用期间发生了错误。您可以在 <error.h> 头文件中找到各种各样的错误代码。
所以,C 程序员可以通过检查返回值,然后根据返回值决定采取哪种适当的动作。开发人员应该在程序初始化时,把 errno 设置为 0,这是一种良好的编程习惯。0 值表示程序中没有错误。
2024年10月21日
1简介
linux系统拥有非常强大的日志功能,保存着几乎有所有操作记录,包括内核和程序产生的各种错误信息,警告信息或其他提示信息,对这些信息管理员了解系统的运行状态和分析问题非常有用。可以从日志文件中获得自已想要的信息。
1.1 日志进程
默认日志守护进程为syslog. 位于/usr/sbin/syslog 或/usr/sbin/syslogd或/usr/sbin/rsyslog.d.默认配置文件为:/etc/syslog.conf ,/etc/rsyslog.conf,可以配置生成的日志
2024年10月21日
在多线程开发中,互斥锁可以用于对临界资源的保护,防止数据的不一致,这是最为普遍的使用方法。那在多进程中如何处理文件之间的同步呢?我们看看下面的图:
图中所示的是两个进程在无同步的情况下同时更新同一个文件的过程,其主要的操作是:
从图中可得知两个进程读取分别增加了所读取到的序号,并写回到了文件中,但是如果有相互互斥的话,最后的值应该是1002,而不是所示的1001。为了防止出现这种情况,Linux提供了flock(对整个文件加锁)、fcntl(对整个文件区域加锁)两个函数来做进程间的文件同步。同时也可以使用信号量来完成所需的同步,但通常使用文件锁会更好一些,因为内核能够自动将锁与文件关联起来。
2024年10月21日
1.将一个随机数写到一个文本文件中
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
//将随机数写到文本文件中,并给随机数排序
int main0601()
{
srand((unsigned char)time(NULL));
FILE* p = fopen("F:/a.txt", "w");
if (p)
{
for (int i = 0; i < 100; i++)
{
int seq = rand() % 256;
char buf[100] = { 0 };
sprintf(buf, "%d\n", seq);//将证书转换为字符串 写到buf中
fputs(buf, p);//将buf写到p中
}
fclose(p);
}
}
2024年10月21日
错误:1000 SQLSTATE: HY000 (ER_HASHCHK) 消息:hashchk
错误:1001 SQLSTATE: HY000 (ER_NISAMCHK) 消息:isamchk
错误:1002 SQLSTATE: HY000 (ER_NO) 消息:NO
错误:1003 SQLSTATE: HY000 (ER_YES) 消息:YES
错误:1004 SQLSTATE: HY000 (ER_CANT_CREATE_FILE) 消息:无法创建文件'%s' (errno: %d)