Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.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/9/ssl/3.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 Errno 2在2个拆分上没有这样的文件或目录_Python - Fatal编程技术网

Python Errno 2在2个拆分上没有这样的文件或目录

Python Errno 2在2个拆分上没有这样的文件或目录,python,Python,我有这个密码 import urllib.request fw = open("myfile.txt", "r") red = fw.read() line = red.split("\n") blue = line.split("@")[0] i=0 while i<len(blue): try: try code is here try: try code is here except:

我有这个密码

import urllib.request
fw = open("myfile.txt", "r")
red = fw.read()
line = red.split("\n")
blue = line.split("@")[0]
i=0
while i<len(blue):
    try:
        try code is here
        try:
            try code is here
        except:
            print(blue[i] + " is " + "having e1")
    except:
        print(blue[i] + " is " + "having e2")

    i+=1
我越来越

错误2没有这样的文件或目录

当我尝试运行我的文件时。但是,当我删除blue=line.split@这条线时,它工作得很好

我要做的是在myfile.txt的所有行上重复此代码-因此我首先拆分\n以获取文件的一行,然后在此行中获取@之前的字符,并将其放入蓝色字符串中

我不明白为什么当我删除blue=line.split时它会工作@

任何帮助都将不胜感激

line = red.split("\n") 
blue = line.split("@")[0]
执行red.split操作时,\n将获得行列表。所以代码中的行本质上是一个行列表

证明:

>>> red = '''\                                             
... This is line 1                                          
... This is line 2                                         
... This is line 3'''                                       
>>> red.split('\n')                                         
['This is line 1', 'This is line 2', 'This is line 3']
不能对列表执行拆分。 取而代之的是,获取行的每一项并对其执行拆分

以下是处理该问题的一种方法:

blue = [x.split('@')[0] for x in line]

在上面的代码中,我们迭代了行中的每个项目,这是一个行列表,如前所述。在每次迭代中,x会使每个值偏离直线。x取一行,然后在下一次迭代中,从列表中取下一行,拆分并继续,直到结束。

您能显示完整的回溯吗?对不起,我不明白x是什么@奥斯汀请在我的答案中找到解释。非常感谢您的精彩解释!: