出现问题:
Traceback (most recent call last):
File "E:\software\python\Projects\ReadRinexFile.py", line 4, in <module>
FileWaitToRead = open(srcPath,'r')
IOError: [Errno 2] No such file or directory: '\xe2\x80\xaaE:\\20140311.14O'
程序:
srcPath = 'E:\\20140311.14O'
desPath = 'D:\\test.pos'
FileWaitToRead = open(srcPath,'r')
FileWaitToWrite = open(desPath,'w')
sat = raw_input('Please input the selected satellite:');
for line in FileWaitToRead.readlines():
if line.startswith(sat):
FileWaitToWrite.write(line)
FileWaitToWrite.flush()
FileWaitToRead.close()
FileWaitToWrite.close()
楼上说的不对,出的错与单引号无关,是编码的问题。你的代码本身没错,把你现在的文件删掉,重新建一个就行。下面和你的一样,只是换了路径,测试可行
src_path = 'E:\\test_0.txt'意思是:回溯(最近的一次呼叫)
这里表示您的Python程序出现了异常,括号中通俗的解释就是代码中引发异常的位置。
Python中一般使用try-except捕获异常。这样,如果引发异常,程序可对异常进行处理。避免了Traceback(most recent call last)等这样一些不友好的语句出现。
比如下面一个除零操作:
import traceback
try:
num = 1/0
except:
traceback.print_exc()
Traceback (most recent call last):
File "C:/Users/Administrator/AppData/Roaming/JetBrains/PyCharmCE2021.2/scratches/scratch.py", line 5, in <module>
num = 1/0
ZeroDivisionError: division by zero
黑体标注的是异常具体位置。
运行效果(文件位置不重要)
如果对异常进行处理,就不会显示这些回溯信息(Trackback这些内容)
try:
num = 1/0
except:
print('异常了')
这里程序只打印‘异常了’这三个字,但在具体编写程序时,不建议这样使用。
运行效果
使用中建议指明具体的异常类型。如下:
try:
num = 1 / 0
except ZeroDivisionError as e:
print(str(e))
打印输出“division by zero”,比Traceback友好多了!
希望回答对您有帮助!更多精彩,请关注我!
最普遍的介绍:
特点是什么:
举例说明应用场景:
其它含义:
举例说明应用场景: