jjzjj

windows - Git-for-Windows Mintty sys.stdout.isatty() 返回 False

我通过Git-for-Windows和CPython35-32使用mintty。为什么Python认为它没有附加到终端?$python-c"importsys;print(sys.stdout.isatty())"False有趣的是,我还有一个问题,就是无法在mintty中启动Python的交互式session。可能与这个问题有关$python 最佳答案 mintty'sconsoleemulationusespipestoemulateatty在后台混淆本地程序检查它们是否附加到tty。在您的情况下,Python的isatty()

c++ - 有没有办法检查外部数据是否通过管道传输到程序或程序是否自行运行?

即数据已经由另一个程序提供,或者用户必须手动输入。我指的是这两种状态:dir/b/s*.*|myprogram和myprogram在第二种情况下,程序将等待用户输入。有什么办法可以防止这种情况发生吗? 最佳答案 POSIX有isatty(),而VisualC++有_isatty(),如果文件描述符是终端或命令行,它们都将返回true,例如isatty(fileno(stdin))。 关于c++-有没有办法检查外部数据是否通过管道传输到程序或程序是否自行运行?,我们在StackOverfl

c++ - 如何在 cout 上使用 isatty(),或者我可以假设 cout == 文件描述符 1?

好吧,基本上,主题说明了一切。我有一个命令行实用程序,可以使用管道或i/o重定向以交互方式或在脚本中使用。我正在为i/o使用cin和cout,如果输出是控制台,我想在最后写一个额外的EOL,这样用户提示将从下一行。在脚本中,这将是有害的。我可以假设cin==0,cout==1吗?我知道没有干净的方法来获取流的文件描述符。或者是? 最佳答案 如果使用Linux(可能还有其他unix,但绝对不是Windows),您可以尝试isatty.没有从C++流中提取文件描述符的直接方法。但是,由于在C++程序中cout和stdout都是同时存在和

c - 检测 NUL 文件描述符(isatty 是假的)

以下C文件在将NUL传递给它时会给出虚假结果:intmain(){printf("_isatty=%d\n",_isatty(0));}结果是:C:\Users\Edward\Dev\nulltest>test.exe我很确定NUL(又名/dev/null)不是终端设备!所以我需要用另一种方式来检测文件描述符是否对应于NUL。该数字没有任何特定含义;当我确实连接了一个终端时,我看到了它。我该怎么办?Thisquestion建议使用粗略的未记录函数来获取基础名称,大概将其与NUL进行比较,但这对我来说不太理想。有没有更好的办法?附言这将有助于解决thisGHCbug.

c - 发现我的程序的输出被重定向到一个文件中

我想知道在linux和C中是否可以发现我的程序输出被重定向到一个文件。我想在stdout$./myprogram上打印输出时将其格式化为人类可读的格式,并在将其重定向到文件$./myprogram>>data.csv时设置为csv>这可能吗? 最佳答案 您可以使用isatty功能:if(isatty(STDOUT_FILENO)){/*Standardoutisaninteractiveterminal*/}else{/*Standardoutissomethingelse(pipe,fileredirect,etc.)*/}

c - 发现我的程序的输出被重定向到一个文件中

我想知道在linux和C中是否可以发现我的程序输出被重定向到一个文件。我想在stdout$./myprogram上打印输出时将其格式化为人类可读的格式,并在将其重定向到文件$./myprogram>>data.csv时设置为csv>这可能吗? 最佳答案 您可以使用isatty功能:if(isatty(STDOUT_FILENO)){/*Standardoutisaninteractiveterminal*/}else{/*Standardoutissomethingelse(pipe,fileredirect,etc.)*/}

c - 如果输出到终端,则在 C 中检测

我正在为OSX和Linux编写一个C程序,我想根据它是否进入终端来调整输出。我知道我们已经介绍了如何在shell脚本中执行此操作,例如这里:Detectingtheoutputstreamtypeofashellscript但我如何在C程序中执行此操作? 最佳答案 使用isatty():$manisattyISATTY(3)LinuxProgrammer'sManualISATTY(3)NAMEisatty-doesthisdescriptorrefertoaterminalSYNOPSIS#includeintisatty(int

c - 如果输出到终端,则在 C 中检测

我正在为OSX和Linux编写一个C程序,我想根据它是否进入终端来调整输出。我知道我们已经介绍了如何在shell脚本中执行此操作,例如这里:Detectingtheoutputstreamtypeofashellscript但我如何在C程序中执行此操作? 最佳答案 使用isatty():$manisattyISATTY(3)LinuxProgrammer'sManualISATTY(3)NAMEisatty-doesthisdescriptorrefertoaterminalSYNOPSIS#includeintisatty(int

java - 如何检查 Java 程序的输入/输出流是否连接到终端?

我希望Java程序根据其用途具有不同的默认设置(详细程度,可能支持彩色输出)。在C中,有一个isatty()函数,如果文件描述符连接到终端,则返回1,否则返回0。在Java中是否有等价物?我在JavaDoc中没有看到InputStream或PrintStream的任何内容。 最佳答案 System.console()与isatty()System.console(),正如@Bombe已经提到的,适用于检查控制台连接的简单用例。然而,System.console()的问题在于它无法让您确定连接到控制台的是STDIN还是STDOUT(或

java - 如何检查 Java 程序的输入/输出流是否连接到终端?

我希望Java程序根据其用途具有不同的默认设置(详细程度,可能支持彩色输出)。在C中,有一个isatty()函数,如果文件描述符连接到终端,则返回1,否则返回0。在Java中是否有等价物?我在JavaDoc中没有看到InputStream或PrintStream的任何内容。 最佳答案 System.console()与isatty()System.console(),正如@Bombe已经提到的,适用于检查控制台连接的简单用例。然而,System.console()的问题在于它无法让您确定连接到控制台的是STDIN还是STDOUT(或
12