sys.argv多行?

时间:2018-04-20 08:17:34

标签: windows python-2.7 command-line

我尝试使用sys.argv在Windows命令提示符中处理Python 2.7中的某些文本。测试的目的是重新格式化删除标点符号和换行符。

from this:

Lorem ipsum dolor sit amet,
consectetur adipiscing elit.
Quisque eget ligula mauris. 

to this:
lorem ipsum dolor sit amet consectetur adipiscing elit quisque eget ligula mauris

但是,某些输入文本可能超过两行(它从另一个来源粘贴)并且我收到错误(最后一行文本未被识别为内部或外部命令)

import sys
if sys.argv[1:]:
  ask = str(sys.argv[1:])
 print ask

更新:由于已经指出这不是Python的问题,它的Windows会出现问题。

所以我调整我的问题是可以通过Windows commad控制台将多行文本粘贴到Python中进行处理(无需将其保存为文本文件作为iterim阶段)或者这种方法是否需要重新思考?

1 个答案:

答案 0 :(得分:0)

您的问题和目的不明确。但是我想你将代码保存在一个脚本文件中,比如readline.py,然后从命令行调用你的参数,你的文本中有换行符。您可以使用^ befor在命令行参数中启动新行。假设您的文字如下 -

  

闪烁,闪烁,小星星   我多么想知道你是什么人   超越世界如此之高   就像天空中的钻石一样

以这种方式写行 -

  

闪烁,闪烁,小星星^   我多么想知道你是什么^   超越世界如此之高^
  就像天空中的钻石一样^

所以从Windows命令提示符 -

python readline.py Twinkle, twinkle, little star^  
How I wonder what you are^  
Up above the world so high^  
Like a diamond in the sky^