首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >argv列出目录文件

argv列出目录文件
EN

Stack Overflow用户
提问于 2011-05-17 06:38:06
回答 2查看 600关注 0票数 1

这个非常简单的代码快把我逼疯了。

代码语言:javascript
复制
import sys,string,socket  

maquina = sys.argv[1]
texto = string.join(sys.argv[2:], " ")
print '['+maquina+']' 
print '['+texto+']'

mysock = socket.socket( socket.AF_INET, socket.SOCK_DGRAM )
if  maquina == '*':
    for ip in range(18,254):
        mysock.sendto( texto, ('192.168.0.'+str(ip),8090) )
else:
    mysock.sendto( texto, (maquina,8090))
mysock.close()

当我输入的时候

代码语言:javascript
复制
python send.py 192.168.0.135 several strings 

输出为:

代码语言:javascript
复制
[192.168.0.135]
[several strings]

但如果我输入

代码语言:javascript
复制
python send.py * several strings

我得到了:

代码语言:javascript
复制
[ajax]
[ajustaprofile.py build dia2django.py djangoajax django-cube django-evolution django_excel_templates-0.1 Doc google_appengine httpd.conf imagens jre1.5.0_08 lib list_mailbackup.py luma models.py netsend.py pip-log.txt reverse.py share testparamet.py tnsnames.ora util virttool-0.1 xlrd-0.7.1 xlutils-1.4.1 xlwt-0.7.2 several lines]

这是我在当前目录下的文件列表!Python以某种方式将'*‘转换为当前目录的文件。

我试着用这个链接做作业,但是我没有得到任何线索。

http://docs.python.org/library/sys.html http://www.faqs.org/docs/diveintopython/kgp_commandline.html

如何在argv上使用"*“?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-17 06:40:16

尝试使用'*'而不是*。您的shell通过cmdline args将*的结果提供给程序,就像ls *一样。

票数 10
EN

Stack Overflow用户

发布于 2011-05-17 07:05:07

获取文件名的另一种方法是使用glob模块:

代码语言:javascript
复制
>>> from glob import glob
>>> glob('*')
['file1.txt', 'file2.py', 'file3', ... ]

它的工作方式与ls命令类似。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6024233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档