我有一个作为计划任务运行的脚本,该脚本在定义$ As的行上发生意外令牌错误而失败.如果我删除代码,脚本运行正常.如果我将整个脚本(包括有问题的部分)粘贴到PowerShell窗口中,则所有内容都按预期运行.
我假设这是一个我刚刚没有遇到过的简单问题,但我无法弄清楚问题是什么,更有经验的眼睛会受到赞赏.
这是在Server 2012R2上运行,PS 5.0.117,但也发生在版本4下.
# Sanitize $UserLogon
$Garbage = "[?\' ]",''
$As = '[?ÀÁÂÃÄÅÆàáâãäåæ]','a'
$Cs = '[?Çç]','c'
$Es = '[?ÈÉÊËèéêë]','e'
$Is = '[?ÌÍÎÏìíîï]','i'
$Ns = '[?Ññ]','n'
$Os = '[?ÒÓÔÕÖØðòóôõöø]','o'
$Ss = '[?ß]','s'
$Us = '[?ÙÚÛÜùúûü]','u'
$Thorns = '[?Þþ]','th'
$TextReplacers = $Garbage, $As, $Cs, $Es, $Is, $Ns, $Os, $Ss, $Us, $Thorns
foreach ($Replacement in $TextReplacers) {
$UserLogon = $UserLogon -replace $Replacement
}
Run Code Online (Sandbox Code Playgroud)
我收到的确切错误是:
At C:\Scripts\Onboarding\CreateUserAccount0.ps1:121 char:17
+ $As = '[?ÀÃÂÃÄÅÆà áâãäåæ]','a'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Unexpected token 'ÃÄÅÆà áâãäåæ]','a'
$Cs = …Run Code Online (Sandbox Code Playgroud) 我写了一个快速的小程序来从教科文组织网站上删除书籍数据,其中包含有关书籍翻译的信息.代码正在按照我的意愿行事,但是当它处理大约20个国家时,它正在使用~6GB的RAM.由于我需要处理大约200个,这对我来说不起作用.
我不确定所有RAM的使用来自哪里,所以我不确定如何减少它.我假设它是包含所有书籍信息的字典,但我并不积极.我不确定我是否应该简单地让程序为每个国家运行一次,而不是处理它们中的很多?或者,如果有更好的方法吗?
这是我第一次写这样的东西,而且我是一个非常新手,自学成才的程序员,所以请指出代码中的任何重大缺陷,或者你提出的改进技巧可能与问题没有直接关系在眼前.
这是我的代码,提前感谢任何帮助.
from __future__ import print_function
import urllib2, os
from bs4 import BeautifulSoup, SoupStrainer
''' Set list of countries and their code for niceness in explaining what
is actually going on as the program runs. '''
countries = {"AFG":"Afghanistan","ALA":"Aland Islands","DZA":"Algeria"}
'''List of country codes since dictionaries aren't sorted in any
way, this makes processing easier to deal with if it fails at
some point, mid run.'''
country_code_list = ["AFG","ALA","DZA"]
base_url = "http://www.unesco.org/xtrans/bsresult.aspx?lg=0&c="
destination_directory = "/Users/robbie/Test/"
only_restable = SoupStrainer(class_="restable") …Run Code Online (Sandbox Code Playgroud)