嗨玩手游网

ArcMap出现加载界面但无法打开软件的解决方法

  本文介绍ArcMap卡在加载界面,无法打开软件的多种解决方法。

  最近,突然发现ArcMap软件打不开了,每次双击快捷方式后其会显示如下所示的加载界面,但是等待很久后加载界面消失,软件窗口却一直不弹出来。

  此外,在电脑右下角的小图标区域,可以看到ArcGIS的图标原本会出现一段时间,但是等ArcMap软件的加载界面消失后片刻,这个小图标也就消失了。

  但与此同时,ArcGIS下属的其他软件,例如ArcCatalog软件就可以正常打开,如下图所示 。

  针对这一情况,主要有下面五种解决方法。其中,对于大部分用户而言,前两种方法大概率是可以解决问题的;对于最近修改过电脑环境变量,尤其是涉及到多版本Python的环境变量的用户,可以重点查看第四种方法。

1 删除模板文件

  首先,找到ArcGIS软件的安装路径。例如,我当初选择了默认的安装路径,因此就是如下图第一个红色方框所显示的路径。

  随后,找到路径中出现问题的软件所对应的文件夹。本文因为是ArcMap软件打不开,所以点开上图所示的ArcMap文件夹。

  接下来,找到其中Templates文件夹下的Normal.mxt文件,将其删除。

  接下来,重新打开ArcMap软件,如果可以正常打开软件,则说明问题已经解决;如果还没有正常打开软件,请尝试本文接下来的方法。

2 修改注册表

  这一方法与前述第一个方法一样,都是ArcMap软件官方给出的解决方法。

  首先,按下Windows徽标键与R键,并在其中输入regedit,如下图所示。

  随后,在HKEY_CURRENT_USER\SOFTWARE\ESRI\Desktop10.7中,找到ArcMap。

  因为稍后我们需要尝试将这一注册表删除,因此先对其进行备份。右键这一注册表,选择“导出”,并任选一个保存路径与名称即可。随后,我们在其上方右键,将这一项注册表删除。

  接下来,重新打开ArcMap软件,如果可以正常打开软件,则说明问题已经解决;如果还没有正常打开软件,注意将我们刚刚备份的注册表恢复(直接双击刚刚保存的注册表备份文件即可),并尝试本文接下来的方法。

3 修复软件

  首先,找到ArcMap软件对应的Setup.exe文件;这一步骤建议通过Everything等全局搜索软件来实现,如下图所示。如果确实找不到Setup.exe文件,也可能是大家当前的ArcGIS版本压根就没有这一文件,那么直接尝试本文接下来的其他方法即可。

  随后,双击打开Setup.exe文件。

  其中,在如下所示的界面中,选择“Repair”选项。

  在如下所示的窗口中,按照默认的设置即可。

  随后,即可开始ArcGIS软件的修复。

  稍等片刻,修复完毕。

  接下来,重新打开ArcMap软件,如果可以正常打开软件,则说明问题已经解决;如果还没有正常打开软件,请尝试本文接下来的方法。

4 配置Python环境变量

  在我的电脑中,前面三个方法都没有任何作用。此时,突然想到前一段时间在配置一个C++ 的第三方库时,在电脑环境变量的系统变量中,新建了如下图所示的两个变量。

  这两个变量的作用是,强制为电脑指明寻找Python的路径。而这两个系统变量的值所对应的路径,当前指向的是一个我后来安装的3.X版本的Python,并不是ArcGIS软件所需的2.X版本。因此,会导致ArcGIS下属的部分软件在打开时,出现一定问题。

  因此,将这两个系统变量删除,随后重新打开ArcMap软件;此时,我这里就可以正常打开软件了。

5 更新显卡驱动

  此外,还在网上看到有部分用户提到,ArcMap软件无法打开可能也和当前电脑中显卡驱动有关系。如果大家在出现这一问题前正好修改过显卡驱动,可以尝试更新一下相关驱动,看看能不能解决。

  如果以上各种方法都没有解决大家的问题,则可以尝试检查一下是不是软件License的问题;如果实在没有办法,估计就只能重新安装ArcGIS软件了。

欢迎关注:疯狂学习GIS

python(19):文件和异常(1)------读取及写入文件

写在前面的话:码字不易,点个赞关注一下作者再走吧[呲牙]

==================================

1.从文件中读取数据

假设现在有一个存储圆周率的txt文件

image.png

with open(r'C:\Users\YLAB\python练习\pi_digits.txt') as file_object:#open()函数,打开文件,里面是文件路径加文件名,window系统用反斜杠(\),linux系统用斜杠(/) contents = file_object.read()#read()函数,读取文件 print(contents)3.1515926535 8979323846 2643383279===================================#发现最后一行出现空格,因为read()函数到达文件末尾时返回一个空字符串,这个空字符串显示出来时就是一个空行,用rstrip()函数删除末尾空行with open(r'C:\Users\YLAB\python练习\pi_digits.txt') as file_object: contents = file_object.read() print(contents.rstrip())3.1515926535 8979323846 2643383279========================================#逐行读取,使用for循环,发现空白行更多了,因为每行的末尾都有一个看不见的换行符,print语句也会加上一个换行符,因此每行末尾都有两个换行符,一个来自文件,另一个来自print语句with open(r'C:\Users\YLAB\python练习\pi_digits.txt') as file_object: for line in file_object: print(line)3.1515926535 8979323846 2643383279=========================================消除多余空白行,用rstrip()函数with open(r'C:\Users\YLAB\python练习\pi_digits.txt') as file_object: for line in file_object: print(line.rstrip())3.1515926535 8979323846 2643383279=====================================#创建一个包含文件各行内容的列表with open(r'C:\Users\YLAB\python练习\pi_digits.txt') as file_object: lines = file_object.readlines()#readlines()从文件中读取每一行,将其存储在一个叫lines的列表中 for line in lines:#使用for循环打印lines中的各行 print(line.rstrip())3.1515926535 8979323846 2643383279======================================#使用文件的内容,将内容转为字符串,它包含文件中存储的所有数字,且没有任何空格with open(r'C:\Users\YLAB\python练习\pi_digits.txt') as file_object: lines = file_object.readlines()pi_string = ''#创建pi_string变量,存储圆周率的值for line in lines: pi_string += line.rstrip()#将各行都加入pi_string,并删除每行末尾的换行符print(pi_string)print(len(pi_string))3.1515926535 8979323846 264338327938==============================================#在变量 pi_string存储的字符串中,包含原来位于每行左边的空格,为删除这些空格,可使用strip()而不是rstrip()with open(r'C:\Users\YLAB\python练习\pi_digits.txt') as file_object: lines = file_object.readlines()pi_string = ''#创建pi_string变量,存储圆周率的值for line in lines: pi_string += line.strip()#将各行都加入pi_string,并删除每行末尾的换行符print(pi_string)print(len(pi_string))3.15159265358979323846264338327932#假设精确到小数点后一百位的圆周率,只要内存够大,想处理多少数据都可以#注意,读取文本文件时,python将其中的所有文本都解读为字符串,如果要读取的是数字,并要将其作为数值使用,就必须使用函数int()将其转换为整数,或使用函数float()将其转为浮点数2.写入文件

保存数据最简单的方式是将其写入到文件中,通过将输出写入文件,即便关闭包含程序输出的终端端口,这些输出也依然存在.

1.写入空文件

###1.写入空文件,如果要写入的文件不存在,python将自动给创建它with open(r'C:\Users\YLAB\python练习\programming.txt', 'w') as file_object:#参数'w'表示以写入模式打开这个文件,此外'r'表示读取模式,'a'表示附加模式,'r+'表示读取和写入模式,python默认为只读模式 file_object.write('i love programming')#write()函数,将一个字符串写入文件 #注意,只能将字符串写入文本文件,如果是数值,要使用str()函数先将数值转换为字符串格式

image.png

2.写入多行,write()函数不会在写入的文本末尾添加换行符,需要在write()中包含换行符

with open(r'C:\Users\YLAB\python练习\programming.txt', 'w') as file_object: file_object.write('i love programming\n') file_object.write('i love eatting\n') #还可以使用空格,制表符,空行设置这些格式的输出

image.png

3.附加到文件,给文件添加而不是覆盖原有内容,可以用附加模式打开文件

#在programming.txt文件中添加两行with open(r'C:\Users\YLAB\python练习\programming.txt','a') as file_object: file_object.write('i love sleeping\n') file_object.write('i love you\n')

更多攻略
游戏推荐
更多+