-2

我对 Python 很陌生。目前我正在尝试编写一个脚本,该脚本可以读取.txt包含一堆数据的文件,并提取格式为(xxx)xxx-xxxx.

这是我目前的尝试,但它根本不起作用,我迷路了:

#import argv
from sys import argv

script, filename = argv

txt_file = open(filename)
indata = txt_file.read()

#confirm to the user what file is being open
print "Opening %r" % filename

#create a loop to read through the file
for line, in line enumerate(indata):
    if line == "(" + \w\w\w\ + ")" + \w\w\w "-" + \w\w\w
    print line

txt_file.close()

任何人都可以向我提供有关如何进行这项工作的建议吗?

4

1 回答 1

1

首先:

import sys
filename = sys.argv[1] #Grabs first argument

#confirm to the user what file is being open
print "Opening %r" % filename

with open(filename,'rb') as txt_file: #Opens the file
    for line in txt_file:  #Reads the file line by line.
        if ####    #checks for ...

Sys.argv 是一个列表,所以传递的第一个参数是 sys.argv[1]。你不需要脚本,因为你不使用它。不要使用 read() ,因为它将整个文件存储为一个列表,您需要做的就是检查每一行。当您打开/写入/关闭文件时,使用 with 可以很好地衡量。退出块时关闭文件。

我需要看看你的文本文件完成后的样子。

于 2013-08-03T21:04:46.343 回答