我正在尝试使用填充了信息的文本文件来对Python 3程序进行一些操作.但是,在尝试读取文件时,我收到以下错误:
回溯(最近一次调用最后一次):文件"SCRIPT LOCATION",第NUMBER行,在text = file.read()文件"C:\ Python31\lib\encodings\cp1252.py",第23行,在解码中返回codecs.charmap_decode (input,self.errors,decoding_table)[0] UnicodeDecodeError:'charmap'编解码器无法解码2907500位的字节0x90:字符映射到
如果有人能给我任何帮助试图解决这个问题,我将非常感激.
以下代码给出了错误UnboundLocalError: local variable 'Var1' referenced before assignment
:
Var1 = 1
Var2 = 0
def function():
if Var2 == 0 and Var1 > 0:
print("Result One")
elif Var2 == 1 and Var1 > 0:
print("Result Two")
elif Var1 < 1:
print("Result Three")
Var1 =- 1
function()
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?谢谢你的帮助!
在Python 3中正确使用全局变量是什么?:
1)global VAR_NAME
在核心脚本中说明一次(不在函数内),然后简单地将变量引用到VAR_NAME
其他地方
2)global VAR_NAME
在每个使用全局变量的函数中说明一次,然后简单地将函数引用到VAR_NAME
函数的其余部分以及核心脚本本身内部
我想用正则表达式搜索一个大文本文件,并设置以下代码:
import re
regex = input("REGEX: ")
SearchFunction = re.compile(regex)
f = open('data','r', encoding='utf-8')
result = re.search(SearchFunction, f)
print(result.groups())
f.close()
Run Code Online (Sandbox Code Playgroud)
当然,这不起作用,因为第二个参数re.search
应该是字符串或缓冲区.但是,我不能将所有文本文件插入到字符串中,因为它太长(意味着它将需要永远).有什么选择?
我有一个磁链接(例如:磁铁:?xt = urn:btih:1c1b9f5a3b6f19d8dbcbab5d5a43a6585e4a7db6)作为字符串包含在变量中,并希望脚本打开处理磁力链接的默认程序,以便它开始下载torrent(如果我从文件管理器中打开了一个磁铁链接.
为了使答案清楚,我们会说我们在一个变量中有磁链接magnet_link
.
我试图将变量的结果添加f
到列表的末尾list_name
.但是,当我尝试这样做时,我收到以下错误:
list_name.append[f]
Run Code Online (Sandbox Code Playgroud)
TypeError:'builtin_function_or_method'对象不可订阅
我究竟做错了什么?
我有一个大文本文件(data
)具有以下布局:( a|b|c|d|e|f
虽然b
可以有管道).我用以下代码搜索文本文件:
results = 0
Data_List = []
searchphrase = input("Search: ")
with open('data', 'r', encoding="utf8") as inF:
for line in inF:
if searchphrase in line:
a, *b, c, d, e, f = line.strip().split('|')
b = '|'.join(b)
results += 1
print("\n\n", results, "\n", "A: " + a + "\n", "B: " + b + "\n", "C: " + c + "\n", "D: " + d + "\n", "E: " + e + "\n", "F: " …
Run Code Online (Sandbox Code Playgroud) 在我的脚本中,我有四个功能如下:
def function_four():
# Does Stuff
function_one()
def function_three():
# Does Stuff
function_two()
def function_one():
usr_input = input("Options: '1') function_three | '2') Quit\nOption: ")
if usr_input == '1':
function_three()
elif usr_input == '2':
sys.exit()
else:
print("Did not recognise command. Try again.")
function_one()
def function_two():
usr_input = input("Options: '1') function_four | '2') function_three | '3') Quit\nOption: ")
if usr_input == '1':
function_four()
elif usr_input == '2':
function_three()
elif usr_input == '3':
sys.exit()
else:
print("Did not recognise command. Try again.")
function_one()
Run Code Online (Sandbox Code Playgroud)
我需要知道这是否会导致我认为会出现的问题:函数永远不会关闭,导致大量的打开函数(可能是浪费的内存和最终的减速)出现,在用户退出脚本之前永远不会消失.如果是真的,那么这很可能是不好的做法而且是不可取的,这意味着必须有另一种选择?