标签: command-line

Python转义sys argv中的特殊字符

我有一个脚本,需要sys.argv,输入可能包含特殊字符(分号).我只需要输入字符串,但分号混淆了一切......

我有:

def myscript(text)
    print text


a = myscript(sys.argv[1])
print a
Run Code Online (Sandbox Code Playgroud)

我尝试:

>>  python script.py "With these words she greeted Prince Vasili Kuragin, a man of high rank and importance, who was the first to arrive at her reception. Anna Pavlovna had had a cough for some days. She was, as she said, suffering" from la grippe; grippe being then a new word in St. Petersburg""
Run Code Online (Sandbox Code Playgroud)

我明白了:

'With these words she greeted Prince Vasili Kuragin, a man of high rank …
Run Code Online (Sandbox Code Playgroud)

python string bash command-line argv

1
推荐指数
1
解决办法
4278
查看次数

输入ruby后,为什么我的命令提示会卡住?

尝试在Mac上运行Ruby时出错.我使用RVM安装它.但是当我输入它时,它会卡在命令提示符上,就像它等待一样.默认情况也是如此.我不知道为什么会这样.运行10.7.3.有任何想法吗?

ruby command-line

1
推荐指数
1
解决办法
492
查看次数

如何使用TFS命令行工具'tf.exe'列出所有标签?

我想使用命令行工具生成所有标签的列表tf.exe.我怎样才能做到这一点?

tfs command-line

1
推荐指数
1
解决办法
1002
查看次数

如何从Python运行命令行程序

我有一个原子模拟程序(用Fortran编写,我没有源代码)提示用户输入温度,每个原子的质量数量的迭代次数等,然后运行给定输入文件的模拟(指定所有原子的初始位置).在所有迭代之后,程序输出一个包含原子最终位置的文本文件,然后关闭.

我试图在不同的温度下运行相同的模拟,所以我希望通过Python自动化输入过程.因此,Python程序将:

  1. 打开模拟程序('sim.exe')
  2. 自动将温度,质量,迭代等输入命令行
  3. 将生成输出文件并将其复制到另一个不同名称的文件中,以便不会覆盖它.
  4. 回到第1,在不同的温度,但相同的质量,迭代等.

我的主要问题是2号.我无法弄清楚如何从Python输入命令行程序.它甚至可能吗?我已经读过它会与操作系统或子进程模块有关,但我不清楚它们是如何工作的.

注意:我使用Windows.

python command-line

1
推荐指数
1
解决办法
2471
查看次数

如何在linux下的python中优雅地读取行

我正在编写一个简短的python脚本来读取stdin中的行,但是当我运行它并按下home,end,left,right等键时,它不起作用,它会在行上打印键.

我还希望使用"上/下"功能来查看编辑历史,就像python交互式控制台一样.

是否有捷径可寻?我尝试过getch和curses,但这似乎并不容易.尝试诅咒缠绕我的命令行窗口.

python command-line stdin

1
推荐指数
1
解决办法
137
查看次数

查找在日期,批处理脚本之间创建/访问/修改的文件

我需要生成在Windows系统上分别创建,修改和访问的所有文件的列表.

我在forfiles这里找到了命令http://technet.microsoft.com/sv-se/library/cc753551(v=ws.10).aspx但显然这不使用创建和访问的时间戳,我也需要那些(在单独的名单).

我也研究过使用该dir命令,但我只找到了对帮助部分中的排序和过滤的引用.

windows command-line timestamp batch-file

1
推荐指数
1
解决办法
1万
查看次数

将文件从Ubuntu远程复制到Windows 7

我对命令行Ubuntu不太熟悉(单独留下远程复制文件)所以如果这个问题有点太常见,我会道歉.

我的设置有点不寻常,所以我无法通过在线研究找到太多.

我正在使用Win7机器,我通过Putty进入Ubuntu(11.10)服务器.我尝试了以下命令,

scp textFile.txt user@ipaddress:
Run Code Online (Sandbox Code Playgroud)

textFile.txt位于Ubuntu机器上,user是Win7机器上的帐户,ipaddress是Win机器的IPv4地址.我甚至提出了-4选择,但每次它都在说Connection timed out.

有什么办法可以将这个文件复制到我的机器上吗?

两者都在同一个网络上.

windows ubuntu command-line windows-7 ubuntu-11.10

1
推荐指数
1
解决办法
1万
查看次数

C命令行界面 - 历史记录功能,如BASH

美好的一天,

我正在编写一个简单的CLI(命令行界面)应用程序,它提供了一个简单的提示,可以接受来自用户的字符串,验证它们,并根据输入执行某些操作.非常坦率的.

我正在寻找一个独立于平台,NON-GPL/LGPL的手段(或者,至少适用于兼容POSIX的操作系统,如Linux,BSD等),所以我可以使用上/下箭头键来回滚动在我的CLI应用程序中以前键入的命令的历史记录中,并将它们显示在输入行中.

目标是有效地模仿BASH和大多数其他炮弹中的历史特征.我想只使用向上/向下键并检测它们.我假设我需要为此使用中断或一些专门的库; 我真的想用标准ANSI C来做这件事,并且必须完全避免使用任何第三方库.

c linux bash shell command-line

1
推荐指数
2
解决办法
2823
查看次数

如何将历史记录重定向到文件?

是否可以将命令的输出放入文件中?我试过做一个

echo history > history.txt

但它将文本历史记录改为该文件.

command-line

1
推荐指数
1
解决办法
4893
查看次数

使用C#访问命令行

我需要从C#应用程序中访问命令行.如果我使用"args"参数,我找不到检测不匹配的双引号的方法.

我正在处理的应用程序可以选择加密通过命令行传递给它的字符串.

例如.

program.exe -encrypt somestring
Run Code Online (Sandbox Code Playgroud)

结果是:

EZs/6rWxvJ82+VE8unJ0Xw==
Run Code Online (Sandbox Code Playgroud)

现在,如果用户输入:

program.exe -encrypt somestring extra characters
Run Code Online (Sandbox Code Playgroud)

它会忽略"somestring"之后的所有内容(您仍然可以通过"args"参数访问其余值).

您可以使用双引号轻松解决此问题:

program.exe -encrypt "somestring extra characters"
Run Code Online (Sandbox Code Playgroud)

当然,如果您想使用嵌入式引号,可以使用"\"来转义它们:

program.exe -encrypt "somestring \"extra\" characters"
Run Code Online (Sandbox Code Playgroud)

当用户输入如下内容时会发生此问题:

program.exe -encrypt "somestring extra characters
Run Code Online (Sandbox Code Playgroud)

要么:

program.exe -encrypt somestring ex"tra characters
Run Code Online (Sandbox Code Playgroud)

该程序将完全忽略双引号,这不是用户期望的.我想检测这样的情况并告知用户不匹配/未转义的报价,否则他们可能最终得到错误字符串的加密版本.

c# command-line

1
推荐指数
1
解决办法
188
查看次数

标签 统计

command-line ×10

python ×3

bash ×2

windows ×2

argv ×1

batch-file ×1

c ×1

c# ×1

linux ×1

ruby ×1

shell ×1

stdin ×1

string ×1

tfs ×1

timestamp ×1

ubuntu ×1

ubuntu-11.10 ×1

windows-7 ×1