-1

我正在学习 python,我有一个包含 5 或 6 个 python 文件的教程文件夹。其中之一包含正则表达式函数 say file_regex.py。问题是当我执行文件夹中的任何其他文件时,总是file_regex.py会执行,因此输出file_regex.py. 我没有在任何其他文件中导入 file_regex.py。

file_regex.py

import re

sentence = ''' Jessica_is_27 year7s old, whereas John is 12 but Stephanie is 12 and Marco is 50 years '''

ages = re.findall(r'\d{1,3}', sentence)

names = re.findall('[A-Z][a-z]+', sentence) test = re.findall('\W', sentence)

print(ages) 

print(names) 

print(test)

这是因为__pycache__创建的文件夹中有一个.pyc文件file_regex.py

regex.cpython-23.pyc

� Vo�U�@sjddlZdZejde�Zejde�Zejde�Zee�ee�ee�dS)�NzX Jessica_is_27 year7s old, whereas John is 12 but Stephanie is 12 and Marco is 50 years z\d{1,3}z[A-Z][a-z]+z\W)�re�sentence�findallZages�names�test�print�rr�!/home/sivasurya/tutorial/regex.py�<module>s

我有两个问题:

  1. 为什么__pycache__只为file_regex.py文件创建文件夹
  2. 如何删除__pycache__文件夹或解决此问题(我尝试使用python -B file1.py命令编译 python 文件,但没有成功)

PS:我在 miniconda 环境(python 3.x)中工作,如果有帮助的话

4

3 回答 3

2

这是因为__pycache__文件夹。. .

这是不正确的。文件夹的存在与__pycache__文件是否运行无关。它只是保存已编译的文件,仅此而已。

如果你file_regex.py一直被执行,那是因为其他文件有

import file_regex

或者

from file_regex import ...

在他们中。

于 2015-08-31T16:14:44.797 回答
0

我实际上将文件命名为regex.py. 当我删除__pycache__文件夹并将文件名更改为文件file_regex.py__pycache__时没有再次出现,问题解决了。

于 2015-08-31T17:37:42.123 回答
0

就我而言,我的文件名为“timeit.py”,因此每次执行文件时都会创建一个pycache文件夹。问题是该文件与模块同名,所以我通过更改文件名解决了这个问题。

于 2020-07-17T11:00:23.140 回答