Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python正则表达式脚本排序并打印到新文档_Python_Regex_Export - Fatal编程技术网

Python正则表达式脚本排序并打印到新文档

Python正则表达式脚本排序并打印到新文档,python,regex,export,Python,Regex,Export,因此,我正在尝试编写一些代码来扫描一个.txt文件,其中ID之间有一堆混乱。我想找到特定的字符串,在它们前面创建一行新行,然后打印到一个新文档。目前,我的代码如下所示: from__future__import print_function import re NDoc = raw_input("Enter name of new document")".txt" log = open("C:Python27\NDoc.txt", 'w') file = raw_input("Enter a f

因此,我正在尝试编写一些代码来扫描一个.txt文件,其中ID之间有一堆混乱。我想找到特定的字符串,在它们前面创建一行新行,然后打印到一个新文档。目前,我的代码如下所示:

from__future__import print_function
import re
NDoc = raw_input("Enter name of new document")".txt"
log = open("C:Python27\NDoc.txt", 'w')
file = raw_input("Enter a file to be sorted")
xfile = open(file)

for line in xfile:
    l=line.strip()
    n=re.sub("(\B)(?=((MTH|ENG|SCN|HST)[|]))","\n",line)

if len(n) > 0:
    nl=split.("\n")
    for item in nl:
        print(item)
当我运行这个程序时,我得到一个Eroor[errno2]没有这样的文件或目录:“xxx”,其中xxx=我对变量“file”的输入

我不确定该怎么办,因为我很确定我正在目录中输入文件

另外,顺便提一下,这段代码是否会创建一个新文件,并用open('filename','w')行打印到其中?

您有
“.txt”
,它会引发此错误
语法错误:无效语法
,因此您应该使用
+.txt”
文件
变量也是如此

>>> NDoc = raw_input("Enter name of new document")".txt"
SyntaxError: invalid syntax
>>> NDoc = raw_input("Enter name of new document") + ".txt"
Enter name of new documentsomefile
>>> NDoc
'somefile.txt'
>>>

好吧,这帮我克服了那个错误,但我还有几个问题。您知道如何获取代码来创建一个新文件,文件名放在变量“NDoc”中吗?此外,如果前面有一个|,我的代码在上面的参数(如MTH、SCN等)之前创建新行是不恰当的(即:MTH | lkafahlfa | HST | lkhadflh在应该拆分时仍然会在同一行上结束)。这是我的\B参数的问题吗?我很高兴这有帮助。我建议把你的新问题贴在一个新的帖子里,否则,这个帖子会有点混乱。通常情况下,最好的做法是在回答问题时不要堆积如山。顺便说一句,你可以点击这个问题的正确答案,然后我会寻找你的新帖子,并在那里为你发布新答案。好的,我已将此标记为已回答,但是,我无法再发布55分钟。好的,谢谢。那时我应该还在这里。然后我会找你的帖子。@scott这就是你如何用
NDoc
中存储的名称创建一个新的文本文件的方法。很简单,您所要做的就是:
f=open(NDoc,'a')
这将创建文件并将其放在
.py
代码所在的同一目录中。